出版时间:2009 出版社:人民邮电出版社 作者:Christian Antognini 页数:451 字数:790000 译者:童家旺,胡怡文,冯大辉
Tag标签:无
前言
与过去的10年相比,现在在书店买到的Oracle性能方面的图书,其内容和质量上有了极大提升。我认为这对大家充分挖掘Oracle的性能无疑是最好的事情。 我们以前能买到的关于Oracle性能的图书都千篇一律。那些书暗示Oracle系统必然承载过多的I/O(实际上不一定)或是内存不足(这和他们描述的I/O士多其实是一回事,但却不是事实)。那些书向你展示可能运行的数不清的SQL脚本,告诉你要优化SQL,并且扬言这样就能搞定一切。 真是不堪回首的漫漫长夜啊! Chris的这本书是给我们带来光明的一本书。光明与黑暗的界线,在于能否体现出一个简单的概念,这个概念是你从10岁开始数学老师就让你反复练习的——展现你的思路(showyourwork)。 我的意思不是指上台说故事,就像有些人说他们在数百个客户的站点提升了若干倍性能,并自诩为专家那样。我是说,展现你的思路,这意味着记录一个起点度量,构建可控的实验,然后记录下一个度量,并坦诚地公布结果,让读者能够完全理解,如果他们愿意甚至可以重现你的测试。 这是个了不起的事情。当作者开始这样做的时候,Oracle读者已比从前更加明智。从2000年开始,Oracle社区的人数已经有很大增长,他们能提出具有深度的性能问题并需要有价值的答案。过去人们相信过的那些错误观念很快就被一一摒弃了。 在本书中,Chris遵循切实可行的模式,讲述了有用的信息。但是,他并不止于此。他展示给读者他是如何探索得知的,也就是说,他告诉你如何找到自己需要的东西。他在本书中展现了他的思路。 这带来了两个益处。首先,展示他的思路有助于读者加深理解他阐述的内容,这使得他的经验对你来说容易记忆并应用。其次,通过理解他的例子,你不仅能够掌握Chris阐述的内容,还能够举一反三,回答Chris没有讲到的其他好问题,比如在这本书付梓之后下一个版本的Oracle将会有什么特性这样的问题。
内容概要
全书以优化Oracle应用程序为目的,先介绍Oracle性能优化的基本原理、关键概念,从业务角度和系统角度分析性能。接着深入细致地讲述如何找出性能问题及所用工具。重点关注查询优化器及其使用的统计信息,查询优化器的配置,获取执行计划的方法,SQL优化技术,解析的工作原理及问题,如何高效地访问单表和多个相关联的表。并且延伸到高级优化技术,及如何优化物理设计。 本书适合Oracle数据库应用程序开发人员、性能分析人员与数据库管理员。
作者简介
ChristianAntognini瑞士苏黎世Trivadls公司首席顾问和讲师,从1995年就开始致力于探究Oracle数据库引擎的工作机制。他最热衷的是逻辑与物理数据库的设计、数据库与Java应用程序的集成、查询优化器,以及与性能管理和优化相关的所有方面。他还是Trivadis性能团队和OakTable网
书籍目录
第一部分 基础 第1章 性能问题 1.1 需要为性能做规划吗 1.2 什么是性能问题 1.3 如何解决性能问题 1.4 小结 第2章 关键概念 2.1 选择性和基数 2.2 游标的生命周期 2.3 解析的过程 2.4 读写数据块 2.5 小结 第二部分 找出问题 第3章 找出性能问题 3.1 分而治之 3.2 分析路线图 3.3 性能测量与剖析分析 3.4 性能测量 3.5 剖析应用程序代码 3.6 跟踪数据库调用 3.7 剖析PL/SQL代码 3.8 小结 第三部分 查询优化器 第4章 系统和对象统计信息 4.1 工具包dbms_stats简介 4.2 系统统计 4.3 对象统计信息 4.4 通用服务 4.5 小结 第5章 配置查询优化器 5.1 配置还是不配置 5.2 配置路线图 5.3 设置正确的参数 5.4 小结 第6章 执行计划 6.1 获取执行计划 6.2 解释执行计划 6.3 识别低效的执行计划 6.4 小结 第7章 SQL优化技术 7.1 改变访问结构 7.2 修改SQL语句 7.3 提示 7.4 改变执行环境 7.5 SQL概要 7.6 存储提纲 7.7 SQL计划基线 7.8 小结 第四部分 优化器 第8章 解析 8.1 识别解析问题 8.2 解决解析问题 8.3 应对解析问题 8.4 使用应用编程接口 8.5 小结 第9章 优化数据访问 9.1 找出不理想的访问路径 9.2 具有弱选择性的SQL语句 9.3 具有强选择性的SQL语句 9.4 小结 第10章 表连接优化 10.1 定义 10.2 嵌套循环连接 10.3 合并连接 10.4 哈希连接 10.5 外连接 10.6 选择连接方法 10.7 分区智能连接 10.8 转换 10.9 小结 第11章 高级优化技术 11.1 物化视图 11.2 结果缓存 11.3 并行处理 11.4 直接路径插入 11.5 行预取 11.6 数组接口 11.7 小结 第12章 优化物理设计 12.1 最佳字段顺序 12.2 最优数据类型 12.3 行迁移与行链接 12.4 数据块争用 12.5 数据压缩 第五部分 附录 附录A 可下载文件
章节摘录
在关于解析的常规信息之后,可以看到执行计划。事实上,如果指定了explain参数的话可能会看到两部分,第一部分被不够准确地称为行源操作(Row Source Operation),是游标关闭且开启跟踪情况下写到跟踪文件中的执行计划。这意味着如果应用程序不关闭游标而重用它们的话,不会有新的针对重用游标的执行计划写入到跟踪文件中。第二部分,叫做执行计划(ExecutionPlan),是由指定了explaln参数的TKPROF生成的。既然这是随后生成的,所以和第一部分不一定完全匹配。万一你看到不一致,前者是正确的。 第6章讲述如何阅读执行计划。这里我只针对TKPROF的特性说明一下,两个执行计划都通过Rows列提供执行计划中每个操作返回的行数(不是处理的——要注意)。在本例中,表sales有918843行而根据跟踪文件仅返回540318行,这表示WHERE条件过滤了大约41%的行。此后的GROUP BY进一步减少结果到16348行。
媒体关注与评论
本书对我来说是一本技术与理念并重的参考书,不仅包含了大量完备的可重用的实例,而且包含了一些富有说服力的新观点。我可以用他的观点去说服更多的人做正确的事。 ——Cary Millsap,Oracle公司系统性能集团前副总裁,数据库性能技术大师 关于Oracle性能有太多的“理论”是错的,早就应该从你的大脑中清除出了,Christian Antognini就是帮你做这个事情的人。 ——Jonathan Lewis,英国Oracle用户组织总监,Oracle数据库技术大师
编辑推荐
Oracle数据库优化的里程碑式著作,涵盖Oracle各版本,源自实战的真知灼见。 前端业务应用炙手可热之日,便是优化后端数据库性能之时。当此之际,身怀数据库优化的绝技,可以让你平步职场,傲视群英。 《Oracle性能诊断艺术》是Oracle数据库优化专家Christian Antognini的一部继往开来的里程碑式著作。书中的最佳实践和诸多建议全部来源于作者在实战一线的丰富积累。不仅简单实用,而且发人深省,堪称一座“宝库”,适合各层次读者研读和发掘。 与其他同类图书不同,《Oracle性能诊断艺术》不仅涵盖了市面上常见的各种Oracle版本,还指明了各个版本独有的性能优化特性。全书以崭新的视角开篇立论,围绕查明问题真相和搜寻有效方略,透彻讲解了查询优化器的配置,表访问、连接和物理表布局的优化,以及加速SQL执行计划等重要主题,被读者誉为“最透彻,但又最通俗的性能优化好书”。值得拥有!
图书封面
图书标签Tags
无
评论、评分、阅读与下载