Jonathan Lewis 是 Oracle RDBMS 领域的技术 Guru。
下文是他为 Troubleshooting Oracle Performance 一书所做的推荐序。提前贴出来分享一下。
这本书的中文翻译版(名字定为《Oracle性能诊断艺术》)已经排版结束,即将进入印刷厂。敬请期待。
大约在20年前我开始使用Oracle关系数据库,花费了大约3年时间我发现问题排查和优化以接近神秘莫测而著称。
有一个开发者的查询语句跑得不是很好,因此把它发送给DBA组。我在检查了执行计划、数据样本后指出可以通过对其中一个表添加一个索引而消除大多数开销。开发者的反应却是:”这是个小表,不需要索引。”(这种事情发生在使用Oracle RDBMS 6.0.36版本的那个时代,顺便提一下,那时候”短”表意味着不超过四个数据块长。)不管怎样,我还是创建了索引,查询快了30倍—-接下来的解释环节当然必不可少了。
性能排查并不需要魔法、魔术或是神话,而是依赖于理解、观察与解释。理查德•费曼曾说过,”理论再完美也没用,也和你多聪明无关。如果理论与实践不符,就是错的。”关于 Oracle 性能有太多的”理论”是错的,早就应该从你的大脑清除出去了—-Christian Antognini 就是帮你做这个事情的人。
在本书的开始,Christian Antognini描述了事物运行机制,该观察什么类型的症状,这些症状代表的含义。尤其是,他还鼓励你在观察与分析的时候要有条理并坚持相关的细节。只要采纳了这些建议,在性能问题出现的时候,你应该能够识别真正的问题,并用最合适的方式解决问题。
虽然这本书的每一页都值得仔细阅读,我还是认为不同的读者会以不同的方式从中受益。有些读者可能通过时时翻阅而获取某些特别的洞察力。比如我多年来一直试图就等高直方图这样的命名找出一个直接明确的原因,而当我读到第4章解释等高直方图的时侯,Christian的描述让我豁然开朗。
有些读者能找到某些特性的简短描述,这有助于他们理解Oracle实现该特性的缘由,并有助于推断在特定应用程序中的应用场景。第5章中的”安全视图融合(Secure View Merging)”即为一例。
其他读者可能会反复阅读本书的某一章节,以便透彻理解他们正在使用的一些特别重要的特性。我相信第9章关于分区的讨论扩展会让很多人读而再读。
这本书很有料,很值得阅读。谢谢你,Christian。
Jonathan Lewis
Jonathan Lewis 著有 Cost-based Oracle: Fundamentals,同样由Apress出版社出版。在他的Blog上http://jonathanlewis.wordpress.com 能找到更多的工作案例。
–EOF–
Google+