更新时间:2019-08-06 10:11:27
封面
版权信息
内容提要
前言
本书约定
第1章 SQL优化必懂概念
1.1 基数(CARDINALITY)
1.2 选择性(SELECTIVITY)
1.3 直方图(HISTOGRAM)
1.4 回表(TABLE ACCESS BY INDEX ROWID)
1.5 集群因子(CLUSTERING FACTOR)
1.6 表与表之间关系
第2章 统计信息
2.1 什么是统计信息
2.2 统计信息重要参数设置
2.3 检查统计信息是否过期
2.4 扩展统计信息
2.5 动态采样
2.6 定制统计信息收集策略
第3章 执行计划
3.1 获取执行计划常用方法
3.2 定制执行计划
3.3 怎么通过查看执行计划建立索引
3.4 运用光标移动大法阅读执行计划
第4章 访问路径(ACCESS PATH)
4.1 常见访问路径
4.2 单块读与多块读
4.3 为什么有时候索引扫描比全表扫描更慢
4.4 DML对于索引维护的影响
第5章 表连接方式
5.1 嵌套循环(NESTED LOOPS)
5.2 HASH连接(HASH JOIN)
5.3 排序合并连接(SORT MERGE JOIN)
5.4 笛卡儿连接(CARTESIAN JOIN)
5.5 标量子查询(SCALAR SUBQUERY)
5.6 半连接(SEMI JOIN)
5.7 反连接(ANTI JOIN)
5.8 FILTER
5.9 IN与EXISTS谁快谁慢
5.10 SQL语句的本质
第6章 成本计算
6.1 优化SQL需要看COST吗
6.2 全表扫描成本计算
6.3 索引范围扫描成本计算
6.4 SQL优化核心思想
第7章 必须掌握的查询变换
7.1 子查询非嵌套
7.2 视图合并
7.3 谓词推入
第8章 调优技巧
8.1 查看真实的基数(Rows)
8.2 使用UNION代替OR
8.3 分页语句优化思路
8.4 使用分析函数优化自连接
8.5 超大表与超小表关联优化方法
8.6 超大表与超大表关联优化方法
8.7 LIKE语句优化方法
8.8 DBLINK优化
8.9 对表进行ROWID切片
8.10 SQL三段分拆法
第9章 SQL优化案例赏析
9.1 组合索引优化案例
9.2 直方图优化案例
9.3 NL被驱动表不能走INDEX SKIP SCAN
9.4 优化SQL需要注意表与表之间关系
9.5 INDEX FAST FULL SCAN优化案例
9.6 分页语句优化案例
9.7 ORDER BY取别名列优化案例
9.8 半连接反向驱动主表案例一
9.9 半连接反向驱动主表案例二
9.10 连接列数据分布不均衡导致性能问题
9.11 Filter优化经典案例
9.12 树形查询优化案例
9.13 本地索引优化案例
9.14 标量子查询优化案例
9.15 关联更新优化案例
9.16 外连接有OR关联条件只能走NL
9.17 把你脑袋当CBO
9.18 扩展统计信息优化案例
9.19 使用LISGAGG分析函数优化WMSYS.WM_CONCAT
9.20 INSTR非等值关联优化案例
9.21 REGEXP_LIKE非等值关联优化案例
9.22 ROW LEVEL SECURITY优化案例
9.23 子查询非嵌套优化案例一
9.24 子查询非嵌套优化案例二
9.25 烂用外连接导致无法谓词推入
9.26 谓词推入优化案例
9.27 使用CARDINALITY优化SQL
9.28 利用等待事件优化SQL
第10章 全自动SQL审核
10.1 抓出外键没创建索引的表
10.2 抓出需要收集直方图的列
10.3 抓出必须创建索引的列
10.4 抓出SELECT * 的SQL
10.5 抓出有标量子查询的SQL
10.6 抓出带有自定义函数的SQL
10.7 抓出表被多次反复调用SQL
10.8 抓出走了FILTER的SQL
10.9 抓出返回行数较多的嵌套循环SQL
10.10 抓出NL被驱动表走了全表扫描的SQL