《Oracle性能诊断艺术》以优化Oracle应用程序为目的,先介绍Oracle性能优化的基本原理、关键概念,从业务角度和系统角度分析性能。接着深入细致地讲述如何找出性能问题及所用工具。重点关注查询优化器及其使用的统计信息,查询优化器的配置,获取执行计划的方法,SQL优化技术,解析的工作原理及问题,如何高效地访问单表和多个相关联的表。并且延伸到高级优化技术,及如何优化物理设计。
《Oracle性能诊断艺术》适合Oracle数据库应用程序开发人员、性能分析人员与数据库管理员。
本书对我来说是一本技术与理念并重的参考书,不仅包含了大量完备的可重用的实例,而且包含了一些富有说服力的新观点。我可以用他的观点去说服更多的人做正确的事。
——Cary Millsap,Oracle公司系统性能集团前副总裁,数据库性能技术大师
关于Oracle性能有太多的“理论”是错的,早就应该从你的大脑中清除出了,Christian Antognini就是帮你做这个事情的人。
——Jonathan Lewis,英国Oracle用户组织总监,Oracle数据库技术大师
第一部分 基础
第1章 性能问题
1.1 需要为性能做规划吗
1.1.1 需求分析
1.1.2 分析和设计
1.1.3 编码和单元测试
1.1.4 集成和验收测试
1.2 什么是性能问题
1.2.1 系统监控
1.2.2 响应时间监控
1.2.3 强迫调优失调症
1.3 如何解决性能问题
1.3.1 业务角度与系统角度
1.3.2 把问题分类
1.3.3 解决问题
1.4 小结
第2章 关键概念
2.1 选择性和基数
2.2 游标的生命周期
2.3 解析的过程
2.3.1 共享游标
2.3.2 绑定变量
2.4 读写数据块
2.5 小结
第二部分 找出问题
第3章 找出性能问题
3.1 分而治之
3.2 分析路线图
3.3 性能测量与剖析分析
3.4 性能测量
3.4.1 应用程序代码
3.4.2 数据库调用
3.5 剖析应用程序代码
3.5.1 简明的性能剖析
3.5.2 细节化性能剖析
3.6 跟踪数据库调用
3.6.1 SQL跟踪
3.6.2 跟踪文件的结构
3.6.3 使用TRCSESS
3.6.4 剖析工具
3.6.5 使用TKPROF
3.6.6 使用TVD$XTAT
3.7 剖析PL/SQL代码
3.7.1 安装剖析工具
3.7.2 安装输出表
3.7.3 收集剖析数据
3.7.4 报告剖析数据
3.7.5 GUI方式
3.8 小结
第三部分 查询优化器
第4章 系统和对象统计信息
4.1 工具包dbms_stats简介
4.2 系统统计
4.2.1 数据字典
4.2.2 非工作量统计信息
4.2.3 工作量统计信息
4.2.4 对查询优化器的影响
4.3 对象统计信息
4.3.1 有哪些对象统计信息可用
4.3.2 收集对象统计信息
4.3.3 锁定对象统计信息
4.3.4 比较对象统计信息
4.3.5 删除对象统计信息
4.3.6 保持统计信息时效性的策略
4.4 通用服务
4.4.1 统计信息历史
4.4.2 创建和删除备份表
4.4.3 导出、导入、获取和设置操作
4.4.4 日志
4.5 小结
第5章 配置查询优化器
5.1 配置还是不配置
5.2 配置路线图
5.3 设置正确的参数
5.3.1 查询优化器参数
5.3.2 PGA管理
5.4 小结
第6章 执行计划
6.1 获取执行计划
6.1.1 SQL语句EXPLAIN PLAN
6.1.2 动态性能视图
6.1.3 AWR和Statspack
6.1.4 跟踪功能
6.1.5 dbms_xplan包
6.2 解释执行计划
6.2.1 父子关系
6.2.2 操作类型
6.2.3 单独型操作
6.2.4 非相关联合型操作
6.2.5 相关联合型操作
6.2.6 分而治之
6.2.7 特殊的例子
6.3 识别低效的执行计划
6.3.1 错误的评估
6.3.2 未识别约束
6.4 小结
第7章 SQL优化技术
7.1 改变访问结构
7.1.1 运行机制
7.1.2 何时使用
7.1.3 缺陷和谬误
7.2 修改SQL语句
7.2.1 运行机制
7.2.2 何时使用
7.2.3 缺陷和谬误
7.3 提示
7.3.1 运行机制
7.3.2 何时使用
7.3.3 缺陷和谬误
7.4 改变执行环境
7.4.1 工作机制
7.4.2 何时使用
7.4.3 缺陷和谬误
7.5 SQL概要
7.5.1 工作机制
7.5.2 何时使用
7.5.3 缺陷和谬误
7.6 存储提纲
7.6.1 工作机制
7.6.2 何时使用
7.6.3 缺陷和谬误
7.7 SQL计划基线
7.7.1 工作机制
7.7.2 何时使用
7.7.3 缺陷和谬误
7.8 小结
第四部分 优化器
第8章 解析
8.1 识别解析问题
8.1.1 快速解析
8.1.2 长解析
8.2 解决解析问题
8.2.1 快速解析
8.2.2 长解析
8.3 应对解析问题
8.3.1 游标共享
8.3.2 服务器端语句缓存
8.4 使用应用编程接口
8.4.1 PL/SQL
8.4.2 OCI
8.4.3 JDBC
8.4.4 ODP.NET
8.5 小结
第9章 优化数据访问
9.1 找出不理想的访问路径
9.1.1 识别
9.1.2 陷阱
9.1.3 原因
9.1.4 解决办法
9.2 具有弱选择性的SQL语句
9.2.1 全表扫描
9.2.2 全分区扫描
9.2.3 范围分区
9.2.4 哈希与列表分区
9.2.5 组合分区
9.2.6 设计考虑
9.2.7 全索引扫描
9.3 具有强选择性的SQL语句
9.3.1 rowid访问
9.3.2 索引访问
9.3.3 单表哈希聚簇访问
9.4 小结
第10章 表连接优化
10.1 定义
10.1.1 连接树
10.1.2 连接的类型
10.1.3 限制条件与连接条件
10.2 嵌套循环连接
10.2.1 概念
10.2.2 两表连接
10.2.3 四表连接
10.2.4 块预取
10.2.5 其他可选的执行计划
10.3 合并连接
10.3.1 概念
10.3.2 两表连接
10.3.3 四表连接
10.3.4 工作区
10.4 哈希连接
10.4.1 概念
10.4.2 两表连接
10.4.3 四表连接
10.4.4 工作区
10.4.5 索引连接
10.5 外连接
10.6 选择连接方法
10.6.1 FIRST_ROWS优化目标
10.6.2 ALL_ROWS优化目标
10.6.3 支持的连接方法
10.6.4 并行连接
10.7 分区智能连接
10.7.1 完全分区智能连接
10.7.2 部分智能分区连接
10.8 转换
10.8.1 连接去除
10.8.2 外连接转换为内连接
10.8.3 子查询非嵌套化
10.8.4 星形转换
10.9 小结
第11章 高级优化技术
11.1 物化视图
11.1.1 运行机制
11.1.2 何时使用
11.1.3 缺陷与谬误
11.2 结果缓存
11.2.1 运行机制
11.2.2 何时使用
11.2.3 缺陷与谬误
11.3 并行处理
11.3.1 运行机制
11.3.2 何时使用
11.3.3 缺陷与谬误
11.4 直接路径插入
11.4.1 运行机制
11.4.2 何时使用
11.4.3 缺陷与谬误
11.5 行预取
11.5.1 运行机制
11.5.2 何时使用
11.5.3 缺陷与谬误
11.6 数组接口
11.6.1 运行机制
11.6.2 何时使用
11.6.3 缺陷与谬误
11.7 小结
第12章 优化物理设计
12.1 最佳字段顺序
12.2 最优数据类型
12.2.1 数据类型选择方面的陷阱
12.2.2 选择数据类型的最佳实践
12.3 行迁移与行链接
12.3.1 迁移与链接
12.3.2 问题描述
12.3.3 找出问题
12.3.4 解决方案
12.4 数据块争用
12.4.1 问题描述
12.4.2 找出问题
12.4.3 解决方案
12.5 数据压缩
第五部分 附录
附录A 可下载文件
《大宋侃史官》内容简介:这是一本有灵魂、有内容、有猛料的宋朝历史,那些陷落在历史深处的人物在作者笔下的这一刻,不再是一个个
《全彩中国史(下册)》内容简介:《中国史(全彩)(图文全解)(套装上下册)》脉络清晰,以历史批判精神,描绘和评述了从盘古开天辟地
Clojure是一门Lisp方言。它通过函数式编程技术,直接支持并发软件开发,得到众多开发人员的欢迎,广泛应用于各个领域。Web开发是
单片机原理及接口技术(2版) 内容简介 书中系统地介绍了80c51系列单片机的原理及接口技术,较好地体现了应用型人才的培养要求,其特点为:着力片上资源、强化编程...
《毛福轩 蔡寿民传》内容简介:本书为烈士毛福轩、蔡寿民的合传。毛福轩是第一届中共韶山特别支部最早的五位成员之一,早年跟随毛泽
快学快用电脑上网技巧1088招附光盘 内容简介 本书全面介绍了电脑上网的操作技能和应用技巧,帮助读者全面、快速地掌握电脑上网的方法,提高工作效率,成为网上冲浪高...
《课堂上的思维导图:中学生思维导图学习法》内容简介:英国博赞中心杰出华人讲师孙易新博士总结20多年思维导图法应用经验,专为中
《人人可懂的数据科学》内容简介:数据科学的主要目标就是通过数据分析来改进决策,它与数据挖掘、机器学习等领域紧密相关,但范围
《机器学习入门:Python语言实现》内容简介:本书旨在为读者提供与机器学习有关Python 3的基本编程概念。前4章快速介绍了Python 3、
Dailylifeisconnectedlife,itsrhythmsdrivenbyendlessemailpingsandresponses,thechim...
《Python编程零基础入门》内容简介:本书是一本真正地从零开始讲解Python编程的图书,它旨在让零基础读者较快地掌握编程知识,并能
《用生活常识学懂成本会计(第2版)》内容简介:成本会计烦琐、复杂、抽象,让很多学会计的人员一头雾水。本书采用通俗易懂的语言、
《二十四节气七十二候》内容简介:二十四节气七十二候不仅是一套关于时令、气候、物候变化规律的知识体系,更是属于中国人的时间哲
Haveyoueverneededtocreateaniconforsomethingandnotknownwheretostart?Howdoyougoabo...
《海明威:在批评中与时间同在》内容简介:本书对海明威作品及作家本人进行了较为系统的研究。在作品研究方面,分别以海明威的短篇
Whetheryourepromotingyourbusinessorwritingaboutyourtraveladventures,"HeadFirstWo...
《第一行代码:Android(第2版)》内容简介:本书被广大Android 开发者誉为“Android学习第一书”。全书系统全面、循序渐进地介绍了
《C#从入门到精通(第4版)》内容简介:《软件开发视频大讲堂:C#从入门到精通(第4版)》从初学者角度出发,通过通俗易懂的语言、
本书是朱利安•阿桑奇目前为止唯一的一部著作,甚至可称为“半部自传”。它是一部见证互联网改变人类历史的伟大纪实文学作品,讲述
《一朵云推动另一朵云》内容简介:成长,永远是一个人生命中最重要的功课。本书俞敏洪对教育的反思,也是俞敏洪的率真世界观。通过