注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络数据库OracleOracle高性能SQL引擎剖析:SQL优化与调优机制详解

Oracle高性能SQL引擎剖析:SQL优化与调优机制详解

Oracle高性能SQL引擎剖析:SQL优化与调优机制详解

定 价:¥89.00

作 者: 黄玮 著
出版社: 机械工业出版社
丛编项:
标 签: Oracle 计算机/网络 数据库

ISBN: 9787111407041 出版时间: 2013-01-01 包装: 平装
开本: 16开 页数: 472 字数:  

内容简介

  Oracle数据库的性能优化直接关系到系统的运行效率,而影响数据库性能的一个重要因素就是SQL性能问题。本书是作者十年磨一剑的成果之一,深入分析与解剖OracleSQL优化与调优技术,主要内容包括: 第一篇“执行计划”详细介绍各种执行计划的含义与操作,为后面的深入分析打下基础。重点讲解执行计划在SQL语句执行的生命周期中所处的位置和作用,SQL引擎如何生成执行计划以及如何获取SQL语句的执行计划,如何从各种数据源显示和查看已经生成的执行计划。 第二篇“SQL优化技术”深入分析Oracle的SQL优化技术,包括逻辑优化技术和物理优化技术。用大量示例详尽分析Oracle中现有的各种查询转换技术,先分析Oracle如何收集、统计系统和对象的数据,然后推导各种代价估算公式,给出各种情形下的代价计算演示。 第三篇“SQL调优技术”深入剖析Oracle提供的各项调优技术。先对语句实际运行的性能统计数据进行了深度分析,介绍各项统计数据是由什么操作导致的以及如何统计。然后介绍如何对SQL语句进行优化以获得稳定、高效的性能。最后,依据对SQL优化及调优技术的分析,介绍如何快速优化SQL的思路。 本书内容丰富且深入,破解了Oracle技术的很多秘密,适合Oracle数据库管理员、应用开发人员参考。

作者简介

  黄玮,资深Oracle数据库管理员,从事DBA工作十几年,有丰富的大型数据库开发、设计和维护经验,涉及水利、军工、电信及航运等行业。目前供职于某世界著名物流公司,负责公司的电子物流系统的数据库开发、维护工作。2005年创建个人网站www.HelloDBA.com,并致力于数据库方面的基础性技术研究,整理和发布了大量关于数据库系统的底层机制、存储结构、性能调优以及基础算法的文章,开发了多个数据恢复、性能监控、内核跟踪等免费的实用工具,为Oracle社区做出了应有的贡献。

图书目录


前言
第一篇 执行计划
第1章 生成和显示执行计划 / 3
1.1 生成执行计划 / 3
1.2 显示执行计划 / 4
1.2.1 通过查询语句显示计划 / 4
1.2.2 通过包DBMS_XPLAN显示计划 / 4
1.2.3 AUTOTRACE / 12
1.2.4 其他方法 / 13
第2章 解读执行计划 / 15
2.1 执行计划的基本数据 / 15
2.2 内部函数与操作 / 17
2.3 执行计划各个列的含义 / 19
2.4 执行计划各个操作的含义 / 21
2.4.1 语句类型 / 21
2.4.2 访问路径方法 / 23
2.4.3 位图操作 / 31
2.4.4 排序操作 / 33
2.4.5 关联操作 / 36
2.4.6 层次查询操作 / 42
2.4.7 视图操作 / 45
2.4.8 数据集合操作 / 45
2.4.9 分区操作 / 48
2.4.10 并行查询操作 / 51
2.4.11 聚合操作 / 57
2.4.12 分析函数操作 / 58
2.4.13 模型化操作 / 60
2.4.14 数据和对象管理操作 / 63
2.4.15 其他操作 / 65
2.5 执行计划中其他信息的含义 / 69
2.5.1 查询块和对象别名 / 69
2.5.2 计划概要数据 / 70
2.5.3 绑定变量信息 / 70
2.5.4 分布式查询语句信息 / 72
2.5.5 注释 / 72
第二篇 SQL优化技术
第3章 查询转换 / 75
3.1 启发式查询转换 / 75
3.1.1 简单视图合并 / 76
3.1.2 子查询反嵌套 / 81
3.1.3 子查询推进 / 86
3.1.4 旧关联谓词推入 / 87
3.1.5 简单过滤谓词推入 / 90
3.1.6 谓词迁移 / 91
3.1.7 “或”操作扩张 / 91
3.1.8 物化视图查询重写 / 92
3.1.9 集合操作关联转变 / 94
3.1.10 由约束生成过滤谓词 / 95
3.1.11 星形转换 / 96
3.1.12 排序消除 / 98
3.1.13 DISTINCT消除 / 99
3.1.14 表消除 / 99
3.1.15 子查询合并 / 102
3.1.16 公共子表达式消除 / 104
3.1.17 计数函数转变 / 105
3.1.18 表达式和条件评估 / 105
3.1.19 聚集子查询消除 / 111
3.1.20 DISTINCT聚集函数转换 / 111
3.1.21 选择字段裁剪 / 113
3.1.22 DISTINCT消除 / 114
3.1.23 DISTINCT推入 / 114
3.1.24 集合分组查询转换 / 115
3.1.25 集合分组查询重写 / 115
3.1.26 集合分组裁剪 / 117
3.1.27 外关联消除 / 118
3.1.28 真正完全外关联 / 119
3.1.29 左(右)外关联转换为侧视图 / 120
3.2 基于代价的查询转换 / 123
3.2.1 复杂视图合并 / 123
3.2.2 关联谓词推入 / 124
3.2.3 谓词提取 / 126
3.2.4 GROUP BY配置 / 127
3.2.5 表扩张 / 128
3.2.6 关联因式分解 / 130
3.2.7 DISTINCT配置 / 131
3.2.8 WITH子查询转换 / 132
第4章 统计数据 / 134
4.1 系统统计数据 / 134
4.1.1 系统统计数据收集 / 136
4.1.2 系统统计数据管理 / 137
4.1.3 根据系统负载状况灵活管理 / 140
4.1.4 全局参数管理 / 142
4.1.5 项管理 / 143
4.2 对象统计数据 / 146
4.2.1 表统计数据 / 150
4.2.2 索引统计数据 / 150
4.2.3 字段统计数据 / 151
4.2.4 扩展统计数据 / 152
4.2.5 对象统计数据的管理 / 153
4.2.6 “待定”统计数据的管理 / 160
4.3 对象统计数据收集过程分析 / 161
4.3.1 表统计数据收集与计算 / 161
4.3.2 字段统计数据收集与计算 / 164
4.3.3 柱状图数据收集与计算 / 170
4.3.4 索引统计数据收集与计算 / 182
第5章 执行计划的代价估算 / 186
5.1 代价模型 / 187
5.2 基本代价计算公式 / 187
5.3 选择率计算 / 190
5.3.1 单过滤条件 / 190
5.3.2 绑定变量无具体数值 / 190
5.3.3 绑定变量有数值无柱状图 / 191
5.3.4 使用柱状图 / 192
5.3.5 过滤条件的组合 / 196
5.4 多数据块读操作代价计算 / 197
5.4.1 代价模型 / 197
5.4.2 IO代价计算 / 199
5.4.3 CPU代价计算 / 202
5.4.4 执行计划中其他数据的计算 / 209
5.4.5 全表扫描代价计算演示 / 209
5.5 并行扫描操作代价计算 / 218
5.5.1 IO代价计算 / 219
5.5.2 CPU代价计算 / 221
5.6 单数据块读操作代价计算 / 222
5.6.1 IO代价计算 / 222
5.6.2 CPU代价计算 / 226
5.6.3 单数据块读操作代价计算演示 / 228
5.7 排序操作代价计算 / 233
5.7.1 是否需要写入磁盘 / 233
5.7.2 IO代价计算 / 234
5.7.3 CPU代价计算 / 236
5.7.4 临时磁盘空间计算 / 236
5.7.5 排序代价计算演示 / 237
5.8 关联操作代价计算 / 241
5.8.1 关联选择率 / 242
5.8.2 嵌套循环关联代价计算 / 242
5.8.3 排序合并关联代价计算 / 249
5.8.4 哈希关联代价计算 / 252
5.9 并行模式下的关联代价计算 / 260
5.9.1 IO代价计算 / 262
5.9.2 CPU代价计算 / 263
5.9.3 代价计算演示 / 263
第三篇 SQL调优技术
第6章 SQL语句运行性能分析 / 270
6.1 性能统计数据 / 270
6.1.1 逻辑读 / 272
6.1.2 一致性获取 / 273
6.1.3 一致性直接获取 / 273
6.1.4 由缓存一致性获取 / 273
6.1.5 一致性修改 / 274
6.1.6 数据块修改 / 275
6.1.7 物理读入缓存 / 276
6.1.8 物理预提取读入缓存 / 276
6.1.9 排序数据行 / 277
6.1.10 递归调用 / 278
6.2 逻辑读分析 / 280
6.2.1 一致性读分析 / 280
6.2.2 当前模式读分析 / 309
6.3 物理读分析 / 319
6.3.1 物理直接读 / 319
6.3.2 物理读入缓存与LRU算法 / 378
第7章 Oracle调优技术 / 387
7.1 存储概要 / 387
7.1.1 什么是存储概要 / 388
7.1.2 创建存储概要 / 389
7.1.3 管理存储概要 / 391
7.1.4 使用存储概要 / 392
7.2 SQL执行计划管理 / 394
7.2.1 创建和增加执行计划基线 / 395
7.2.2 进化历史执行计划 / 405
7.2.3 优化器从基线中选择执行计划 / 407
7.3 Oracle自动调优 / 409
7.3.1 创建调优任务 / 410
7.3.2 SQL调优建议器的参数 / 410
7.3.3 自动调优分析 / 412
7.4 SQL性能分析器 / 423
7.4.1 性能分析过程 / 424
7.4.2 SQL性能分析示例 / 426
7.5 SQL访问建议器 / 428
7.5.1 建议器选择新索引分析过程 / 428
7.5.2 使用SQL访问建议器 / 433
第8章 快速调优思路 / 441
8.1 统计数据检查 / 441
8.2 从执行计划中找到潜在问题 / 444
8.2.1 是否存在多个游标 / 444
8.2.2 输出结果中特别注释 / 447
8.2.3 存在潜在性能问题的操作 / 448
8.2.4 谓词信息 / 452
8.2.5 概要数据以及优化器环境检查 / 455
8.3 物理设计优化 / 456
8.3.1 索引 / 456
8.3.2 分区 / 457
8.3.3 物化视图 / 458
8.3.4 约束 / 458

本目录推荐