《高性能SQL 调优精要与案例解析》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:闫书清编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121323621
  • 页数:296 页
图书介绍:本书共分为两篇,基础篇(第1章~第10章)介绍了SQL调优应该具备和掌握的理论和方法,实践篇(第11章)精选并深入解析了10个现实中的实际案例。本书前3章主要介绍了Oracle数据库架构设计及实现方面的内容。第4章详细讲解了Oracle各种数据库对象的相关实现、特性和理解。第5章介绍了事务及Oracle事务相关的特性。第6~8章详细讲解了执行计划及其相关因素、方法和元素。第9~10章分别讲解了如何通过分析SQL语句执行计划来确定其性能瓶颈,进而解决相关问题的思路和方法。第11章以精选的10个现实中的实际案例为样本,并对其逐一进行了理论结合实践的深入讲解和剖析,以期通过实际案例的解析,达到读者对基础理论进行验证、再学习的目的。

基础篇 2

第1章 整体架构 2

1.1实例 2

1.2数据库 3

1.3整体架构图解 5

第2章 内存架构 7

2.1系统全局区 7

2.1.1共享池 7

2.1.2数据缓冲 8

2.1.3重做日志缓冲 8

2.1.4系统全局区相关信息 9

2.2程序全局区 9

2.2.1会话区 9

2.2.2 SQL工作区 10

2.2.3程序全局区的相关信息 10

第3章 存储架构 11

3.1块 11

3.2区间 13

3.3段 14

3.4表空间 14

第4章 对象类型 17

4.1表 17

4.1.1表的概念 17

4.1.2表的注解 17

4.1.3表与段 18

4.1.4表分区 19

4.2索引 21

4.2.1索引的概念 21

4.2.2索引的注解 21

4.2.3本地索引和全局索引 24

4.2.4 B*Tree索引组织结构 25

4.2.5位图索引 26

4.3簇 27

4.3.1簇的概念 27

4.3.2簇注的解 27

4.4视图 27

4.4.1视图的概念 27

4.4.2视图的注解 28

4.5物化视图 28

4.5.1物化视图的概念 28

4.5.2物化视图的注解 28

4.6同义词 29

4.6.1同义词的概念 29

4.6.2同义词的注解 29

4.7序列 30

4.7.1序列的概念 30

4.7.2序列的注解 30

4.8索引组织表 30

4.8.1索引组织表的概念 30

4.8.2索引组织表的注解 31

4.9过程和函数 31

4.9.1过程和函数的概念 31

4.9.2过程和函数的注解 32

4.10触发器 32

4.10.1触发器的概念 32

4.10.2触发器的注解 33

4.11包 33

4.11.1包的概念 33

4.11.2包注解 33

4.12约束 34

4.12.1约束的概念 34

4.12.2约束的注解 34

第5章 事务 35

5.1事务的概念 35

5.2事务的特性 36

5.3 ANSMSO SQL标准定义的事务隔离级别 36

5.4 Oracle支持的事务隔离级别 36

5.5事务的开始和结束 37

5.6事务的相关信息 37

第6章 执行计划 39

6.1执行计划的概念 39

6.2系统统计数据 40

6.3对象统计数据 41

6.4扩展统计数据 42

6.4.1扩展统计数据的概念 42

6.4.2扩展统计数据的限制 42

6.5执行计划的获取方法 42

6.5.1 GUI工具 43

6.5.2 autotrace的功能 45

6.5.3 DBMS XPLAN包 47

6.5.4 SQL查询方法 55

6.5.5跟踪方法 56

6.6执行计划阅读及分析方法 58

第7章 执行计划操作与分析 59

7.1表相关操作 59

7.2索引相关操作 65

7.3物化视图相关操作 72

7.4连接相关操作 75

7.5分区相关操作 91

7.6并行相关操作 98

7.6.1并行相关的概念 98

7.6.2并行相关操作示例 100

7.7排序相关操作 111

7.8视图相关操作 116

7.9集合相关操作 118

7.10位图相关操作 121

7.11聚合相关操作 126

7.12分析函数相关操作 127

7.13层级相关操作 130

7.14 DDL及DML相关操作 134

7.15 其他相关操作 142

第8章 调优相关数据项 150

8.1执行计划数据项 150

8.2性能统计信息数据项 151

第9章 确定瓶颈 153

9.1分析Cost方法 153

9.1.1方法说明 153

9.1.2分析要点 153

9.1.3方法优势 154

9.1.4方法劣势 154

9.2分析Trace结果方法 154

9.2.1方法说明 154

9.2.2分析要点 157

9.2.3方法优势 157

9.2.4方法劣势 157

9.3目测分析方法 157

9.3.1方法说明 157

9.3.2分析要点 158

9.3.3方法优势 158

9.3.4方法劣势 158

第10章 解决问题 159

10.1合理使用索引 159

10.1.1索引应用的一般原则 161

10.1.2索引应用的认识误区 162

10.2合理使用表分区 163

10.2.1合理选择表分区类型 163

10.2.2合理选择索引类型 164

10.3收集和维护统计数据 164

10.3.1自动收集统计数据 164

10.3.2手动收集和维护统计数据 166

10.3.3收集和维护扩展统计数据 169

10.4 SQL语句改写 170

10.4.1消除视图 170

10.4.2标量子查询改为外连接 172

10.4.3 update改为merge into 173

10.4.4正确使用分析函数 175

10.4.5 with as去除多次扫描 176

10.4.6 union改为or 178

10.4.7 or改为union 179

10.4.8 in改为join 181

10.4.9 in改为exists 182

10.4.10 not in改为not exists 183

10.4.11 not exists改为not in 184

10.4.12 exists改为join 185

10.4.13 not exists改为join 187

10.4.14 join改为exists 188

10.4.15 join改为not exists 189

10.4.16改写为集合运算符 190

10.5正确使用Hint 191

10.5.1 Hint的概念及场景 191

10.5.2 Hint的具体语法 192

10.5.3常用Hint 193

10.6数据库开发常识 220

10.6.1判断SQL性能的标准 220

10.6.2索引相关误区 220

10.6.3慎用多视图连接 222

10.6.4慎用循环Delete 222

10.6.5考量绑定变量的应用 223

10.6.6减少参与连接的表数 223

10.6.7慎用触发器 223

10.6.8慎用临时表 224

10.6.9表连接写法选择和排序 225

实践篇 228

第11章 案例解析 228

11.1案例一 228

11.1.1问题背景 228

11.1.2问题描述 229

11.1.3问题分析及解决 230

11.1.4优化效果 233

11.2案例二 235

11.2.1问题背景 235

11.2.2问题描述 235

11.2.3问题分析及解决 237

11.2.4优化效果 241

11.3案例三 242

11.3.1问题背景 242

11.3.2问题描述 244

11.3.3问题分析及解决 245

11.3.4优化效果 247

11.4案例四 248

11.4.1问题背景 248

11.4.2问题描述 249

11.4.3问题分析及解决 251

11.4.4优化效果 254

11.5案例五 255

11.5.1问题背景 255

11.5.2问题描述 255

11.5.3问题分析及解决 256

11.5.4优化效果 258

11.6案例六 259

11.6.1问题背景 259

11.6.2问题描述 259

11.6.3问题分析及解决 262

11.6.4优化效果 266

11.7案例七 267

11.7.1问题背景 267

11.7.2问题描述 268

11.7.3问题分析及解决 271

11.7.4优化效果 274

11.8案例八 277

11.8.1问题背景 277

11.8.2问题描述 277

11.8.3问题分析及解决 281

11.9案例九 282

11.9.1问题背景 282

11.9.2问题描述 286

11.9.3问题分析及解决 288

11.9.4优化效果 289

11.10案例十 290

11.10.1问题背景 290

11.10.2问题描述 291

11.10.3问题分析及解决 292

11.10.4优化效果 295