一、目录介绍
第1章 引起数据库性能问题的因素
1.1 软件设计对数据库的影响
1.1.1 软件架构设计对数据库性能的影响
1.1.2 软件代码的编写对数据库性能的影响
1.2 数据库的设计
1.2.1 0LTP数据库
1.2.2 0LAP数据库
1.3 数据库的硬件设计
1.3.1 存储容量
1.3.2 存储的物理设计
1.3.3 数据的安全
1.4 小结
第2章 锁和阻塞
2.1 关于锁
2.2 锁和阻塞
2.3 引起阻塞的其他情况
2.3.1 select for update
2.3.2 外键和索引
第3章 Latch和等待
3.1 共享池中的Latch争用
3.2 数据缓冲池Latch争用
3.2.1 表数据块
3.2.2 索引数据块
3.2.3 索引根数据块
3.2.4 段头数据块
第4章 优化器
4.1 RB0基于规则的优化器
4.2 CB0基于成本的优化器
第5章 执行计划
5.1 Cardinality(基数)
5.2 SQL的执行计划
第6章 Hint
6.1 和优化器相关的Hint
6.1.1 all_rows和flrst_rows(CB0)
6.1.2 RULE Hint
6.2 访问路径相关的Hint
6.2.1 RULE Hint
6.2.2 RULE Hint
6.2.3 RULE Hint
6.2.4 INDEX_DESC Hint
6.2.5 INDEX_COMBINE Hint
6.2.6 INDEX_FFS
6.2.7 INDEX_JOIN
6.2.8 INDEX_SSHint
6.3 表关联顺序的Hint
6.3.1 LEADING Hint
6.3.2 ORDERED Hint
6.4 表关联操作的Hint
6.4.1 USE_HASH,USE_NL和USE_MERGE Hint
6.4.2 N0USEHASH Hint
6.4.3 N0_USEMERGE Hint
6.4.4 NO_USENL Hint
6.5 并行执行相关的Hint
6.5.1 PARALLEL Hint
6.5.2 NO_PARALLEL Hint
6.6 其他方面的一些Hint
6.6.1 APPEND Hint
6.6.2 DYNAMIC_SAMPLING Hint
6.6.3 DRIVING_SITEHint
6.6.4 CACHE Hint
6.7 小结
第7章 分析及动态采样
7.1 直方图
7.2 DBMS-STATS包
7.3 动态采样
7.3.1 什么是动态采样
7.3.2 动态采样的级别
7.3.3 什么时候使用动态采样
7.4 小结
第8章 并行执行
8.1 并行和0LAP系统
8.2 并行处理的机制
8.3 读懂一个并行处理的执行计划
8.4 一个很常见的并行执行等待事件
8.5 并行执行的适用范围
8.5.1 并行查询
8.5.2 并行DDL操作
8.5.3 并行DML操作
8.6 并行执行的设定
8.6.1 并行相关的初始化参数
8.6.2 并行度的设定
8.7 直接加载
8.7.1 直接加载和REDO
8.7.2 直接加载和索引
8.7.3 直接加载和并行
8.7.4 直接加载和SQL*LOADER
第9章 变量绑定
9.1 什么是变量绑定,为什么要做变量绑定
9.2 为什么说0LTP必须要求变量绑定而0LAP不应该绑定变量
9.3 bind peaking
第10章 SQL_TRACE和10046事件
10.1 SQL_TRACE
10.2 TKPROF工具
10.3 10046事件
第11章 10053事件
第12章 性能视图和性能参数
12.1 性能视图
12.1.1 V$SQL
12.1.2 V$SOLSHAREDCURSOR
12.1.3 v$session
12.1.4 V$sessstat
12.1.5 V$session_wait
12.2 性能参数
12.2.1 Cursor_sharing
12.2.2 DB_FILE_MULTIBLOCK_READ_COUNT
12.2.3 PGA_AGGREGATE_TARGET和SGA_TARGET
12.2.4 OPTIMIZER_DYNAMIC_SAMPLING
第13章 性能报告
13.1 AWR性能报告
13.1.1 生成AWR性能报告
13.1.2 AWR性能报告分析
13.2 Statspack性能报告
13.2.1 Statspack的安装
13.2.2 Statspack性能采集
13.3 ASH性能报告
13.3.1 生成ASH性能报告
13.3.2 ASH性能报告分析
13.4 小结
附录A 常见的等待事件
后记 关于数据库的学习方法