注重体验与质量的电子书资源下载网站
分类于: 互联网 其它
简介
Oracle性能诊断艺术 豆 9.1分
资源最后更新于 2020-11-20 04:49:22
作者:Christian Antognini
译者:童家旺,胡怡文,冯大辉
出版社:人民邮电出版社
出版日期:2009-01
ISBN:9787115215147
文件格式: pdf
标签: Oracle 数据库 性能诊断 计算机 数据库调优 oracle 性能优化 计算机科学
简介· · · · · ·
《Oracle性能诊断艺术》以优化Oracle应用程序为目的,先介绍Oracle性能优化的基本原理、关键概念,从业务角度和系统角度分析性能。接着深入细致地讲述如何找出性能问题及所用工具。重点关注查询优化器及其使用的统计信息,查询优化器的配置,获取执行计划的方法,SQL优化技术,解析的工作原理及问题,如何高效地访问单表和多个相关联的表。并且延伸到高级优化技术,及如何优化物理设计。
《Oracle性能诊断艺术》适合Oracle数据库应用程序开发人员、性能分析人员与数据库管理员。
本书对我来说是一本技术与理念并重的参考书,不仅包含了大量完备的可重用的实例,而且包含了一些富有说服力的新观点。我可以用他的观点去说服更多的人做正确的事。
——Cary Millsap,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 可下载文件
第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 可下载文件