Oracle高性能SQL引擎剖析:SQL优化与调优机制详解
作者:黄玮
出版日期:2013年01月
文件大小:27.11M
支持设备:
¥45.00在线试读
适用客户端:
言商书局
iPad/iPhone客户端:下载 Android客户端:下载PC客户端:下载更多详情:查看
?对图书下载、阅读卡购买有疑问:立即进入帮助中心>>
图书简介
目录
本书是Oracle数据库性能优化领域的里程碑之作,通过对Oracle高性能SQL引擎的深入剖析,深刻揭示了Oracle SQL的优化与调优机制、核心技术,以及性能优化的思想方法,是作者十余年工作经验与研究心得的结晶,包含大量技巧与最佳实践。
序——十年磨剑,一朝动世
前言
第一篇 执行计划
第1章 生成和显示执行计划
1.1 生成执行计划
1.2 显示执行计划
1.2.1 通过查询语句显示计划
1.2.2 通过包DBMS_XPLAN显示计划
1.2.3 AUTOTRACE
1.2.4 其他方法
第2章 解读执行计划
2.1 执行计划的基本数据
2.2 内部函数与操作
2.3 执行计划各个列的含义
2.4 执行计划各个操作的含义
2.4.1 语句类型
2.4.2 访问路径方法
2.4.3 位图操作
2.4.4 排序操作
2.4.5 关联操作
2.4.6 层次查询操作
2.4.7 视图操作
2.4.8 数据集合操作
2.4.9 分区操作
2.4.10 并行查询操作
2.4.11 聚合操作
2.4.12 分析函数操作
2.4.13 模型化操作
2.4.14 数据和对象管理操作
2.4.15 其他操作
2.5 执行计划中其他信息的含义
2.5.1 查询块和对象别名
2.5.2 计划概要数据
2.5.3 绑定变量信息
2.5.4 分布式查询语句信息
2.5.5 注释
第二篇 SQL优化技术
第3章 查询转换
3.1 启发式查询转换
3.1.1 简单视图合并
3.1.2 子查询反嵌套
3.1.3 子查询推进
3.1.4 旧关联谓词推入
3.1.5 简单过滤谓词推入
3.1.6 谓词迁移
3.1.7 “或”操作扩张
3.1.8 物化视图查询重写
3.1.9 集合操作关联转变
3.1.10 由约束生成过滤谓词
3.1.11 星形转换
3.1.12 排序消除
3.1.13 DISTINCT消除
3.1.14 表消除
3.1.15 子查询合并
3.1.16 公共子表达式消除
3.1.17 计数函数转变
3.1.18 表达式和条件评估
3.1.19 聚集子查询消除
3.1.20 DISTINCT聚集函数转换
3.1.21 选择字段裁剪
3.1.22 DISTINCT消除
3.1.23 DISTINCT推入
3.1.24 集合分组查询转换
3.1.25 集合分组查询重写
3.1.26 集合分组裁剪
3.1.27 外关联消除
3.1.28 真正完全外关联
3.1.29 左(右)外关联转换为侧视图
3.2 基于代价的查询转换
3.2.1 复杂视图合并
3.2.2 关联谓词推入
3.2.3 谓词提取
3.2.4 GROUP BY配置
3.2.5 表扩张
3.2.6 关联因式分解
3.2.7 DISTINCT配置
3.2.8 WITH子查询转换
第4章 统计数据
4.1 系统统计数据
4.1.1 系统统计数据收集
4.1.2 系统统计数据管理
4.1.3 根据系统负载状况灵活管理
4.1.4 全局参数管理
4.1.5 项管理
4.2 对象统计数据
4.2.1 表统计数据
4.2.2 索引统计数据
4.2.3 字段统计数据
4.2.4 扩展统计数据
4.2.5 对象统计数据的管理
4.2.6 “待定”统计数据的管理
4.3 对象统计数据收集过程分析
4.3.1 表统计数据收集与计算
4.3.2 字段统计数据收集与计算
4.3.3 柱状图数据收集与计算
4.3.4 索引统计数据收集与计算
第5章 执行计划的代价估算
5.1 代价模型
5.2 基本代价计算公式
5.3 选择率计算
5.3.1 单过滤条件
5.3.2 绑定变量无具体数值
5.3.3 绑定变量有数值无柱状图
5.3.4 使用柱状图
5.3.5 过滤条件的组合
5.4 多数据块读操作代价计算
5.4.1 代价模型
5.4.2 IO代价计算
5.4.3 CPU代价计算
5.4.4 执行计划中其他数据的计算
5.4.5 全表扫描代价计算演示
5.5 并行扫描操作代价计算
5.5.1 IO代价计算
5.5.2 CPU代价计算
5.6 单数据块读操作代价计算
5.6.1 IO代价计算
5.6.2 CPU代价计算
5.6.3 单数据块读操作代价计算演示
5.7 排序操作代价计算
5.7.1 是否需要写入磁盘
5.7.2 IO代价计算
5.7.3 CPU代价计算
5.7.4 临时磁盘空间计算
5.7.5 排序代价计算演示
5.8 关联操作代价计算
5.8.1 关联选择率
5.8.2 嵌套循环关联代价计算
5.8.3 排序合并关联代价计算
5.8.4 哈希关联代价计算
5.9 并行模式下的关联代价计算
5.9.1 IO代价计算
5.9.2 CPU代价计算
5.9.3 代价计算演示
第三篇 SQL调优技术
第6章 SQL语句运行性能分析
6.1 性能统计数据
6.1.1 逻辑读
6.1.2 一致性获取
6.1.3 一致性直接获取
6.1.4 由缓存一致性获取
6.1.5 一致性修改
6.1.6 数据块修改
6.1.7 物理读入缓存
6.1.8 物理预提取读入缓存
6.1.9 排序数据行
6.1.10 递归调用
6.2 逻辑读分析
6.2.1 一致性读分析
6.2.2 当前模式读分析
6.3 物理读分析
6.3.1 物理直接读
6.3.2 物理读入缓存与LRU算法
第7章 Oracle调优技术
7.1 存储概要
7.1.1 什么是存储概要
7.1.2 创建存储概要
7.1.3 管理存储概要
7.1.4 使用存储概要
7.2 SQL执行计划管理
7.2.1 创建和增加执行计划基线
7.2.2 进化历史执行计划
7.2.3 优化器从基线中选择执行计划
7.3 Oracle自动调优
7.3.1 创建调优任务
7.3.2 SQL调优建议器的参数
7.3.3 自动调优分析
7.4 SQL性能分析器
7.4.1 性能分析过程
7.4.2 SQL性能分析示例
7.5 SQL访问建议器
7.5.1 建议器选择新索引分析过程
7.5.2 使用SQL访问建议器
第8章 快速调优思路
8.1 统计数据检查
8.2 从执行计划中找到潜在问题
8.2.1 是否存在多个游标
8.2.2 输出结果中特别注释
8.2.3 存在潜在性能问题的操作
8.2.4 谓词信息
8.2.5 概要数据以及优化器环境检查
8.3 物理设计优化
8.3.1 索引
8.3.2 分区
8.3.3 物化视图
8.3.4 约束