十年DBA老兵:警惕,重Java轻SQL乃性能大忌(6)
比如这次的 wm_concat 函数,我相信,之前的同事没有定位出问题所在,就是他没有遇到过 wm_concat 这个函数。所以总结经验是绝对正确的,虽然经验并不一定有用得上的机会。
所学的一点点知识和积累的一点点经验恰好被用上了,这就是运气。因此运气也是辩证的,表面上是因为运气解决了这个问题,实则不然,如果没有那么一点点知识和经验,也不会这么顺利的解决。可见偶然中也有必然。 三、批判 7 月 25 日周末上线,周一一大早,开发兄弟像报喜一样告诉我,优化效果明显,用户非常满意。看着他稚嫩中略带青涩的笑脸,我也长舒一口气,毕竟这是我的第一个优化案例。
原来如此,我就告诉他:
看得出来,他仍然保持了学生意气,有些自责,他好像又想起了什么来,赶紧补充说“因为时间太紧迫了,现在是敏捷开发,每两周一个版本,如果时间充裕的话,我想我也能通过查资料把这个 SQL 写出来的。” 他说着有些激动,但事实上他是认真的,也真的做到了。在后来的开发过程中,他写出了连我都写不出来的复杂 SQL。 通过与他的对话,我大致可以勾画出这个项目的一些基本元素:敏捷开发,双周迭代,无开发型 DBA,重 Java 轻 SQL。 这些是国内大多数项目的通病,本来是见怪不怪,但是出现在世界 500 强,国内 IT 软件天堂的大公司,还是让我有些意外,更让人感到后脊凉凉的。 敏捷开发要求快速交付,功能优先性能,急功近利;偌大的一个企业级平台项目,居然没有匹配一个专职的开发 DBA,SQL 的质量令人担忧。 而重 Java 轻 SQL 在信息管理系统中是一个大忌,会暗藏很多性能风险,这些都是性能的催化剂。这意味着我接下来的道路势必坎坷曲折、荆棘丛生。 (编辑:ASP站长网) |