与过去的10年相比,现在在书店买到的Oracle性能方面的图书,其内容和质量上有了极大提升。我认为这对大家充分挖掘Oracle的性能无疑是最好的事情。.
我们以前能买到的关于Oracle性能的图书都千篇一律。那些书暗示 Oracle系统必然承载过多的I/O(实际上不一定)或是内存不足(这和他们描述的I/O过多其实是一回事,但却不是事实)。那些书向你展示可能运行的数不清的SQL脚本,告诉你要优化SQL,并且扬言这样就能搞定一切。
真是不堪回首的漫漫长夜啊!
Chris的这本书是给我们带来光明的一本书。光明与黑暗的界线,在于能否体现出一个简单的概念,这个概念是你从10岁开始数学老师就让你反复练习的——展现你的思路(show your work)。
我的意思不是指上台说故事,就像有些人说他们在数百个客户的站点提升了若干倍性能,并自诩为专家那样。我是说,展现你的思路,这意味着记录一个起点度量,构建可控的实验,然后记录下一个度量,并坦诚地公布结果,让读者能够完全理解,如果他们愿意甚至可以重现你的测试。
这是个了不起的事情。当作者开始这样做的时候,Oracle读者已比从前更加明智。从2000年开始, Oracle社区的人数已经有很大增长,他们能提出具有深度的性能问题并需要有价值的答案。过去人们相信过的那些错误观念很快就被一一摒弃了。
在本书中,Chris遵循切实可行的模式,讲述了有用的信息。但是,他并不止于此。他展示给读者他是如何探索得知的,也就是说,他告诉你如何找到自己需要的东西。他在本书中展现了他的思路。
这带来了两个益处。首先,展示他的思路有助于读者加深理解他阐述的内容,这使得他的经验对你来说容易记忆并应用。其次,通过理解他的例子,你不仅能够掌握Chris阐述的内容,还能够举一反三,回答Chris没有讲到的其他好问题,比如在这本书付梓之后下一个版本的Oracle将会有什么特性这样的问题。
此书对我来说是一本技术与理念并重的参考书,不仅包含了大量完备的可重用的实例,而且包含了一些富有说服力的新观点,让我能分享Chris的观点与激情。我可以用他的观点去说服更多的人做正确的事。
Chris睿智而精力充沛,他站在诸多精英的肩膀上,吸取了Dave Ensor、Lex de Haan、Anjo Kolk、Steven Adams、Jonathan Lewis、Tom Kyte等许多人的智慧,他们为这个领域带来了严谨之风,在我眼中他们都是英雄。现在,我们可以站在Chris 的肩膀上了。
Cary Millsap
Cary Millsap是Method R公司的CEO。Method R是一家致力于提升软件性能的公司。..
Cary Millsap与Jeff Holt在2003年合著了Optimizing Oracle Performance,
这本书使得Cary与Jeff勇夺《Oracle杂志》2004年最佳作者奖。
可以通过http://method-r.com或http://carymillsap.blogspot.com联系Cary。
大约在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
上能找到更多的实际案例。