Oracle高性能SQL引擎剖析txt,chm,pdf,epub,mobi下载 作者:黄玮 出版年: 2013-1-10 页数: 472 定价: 89.00元 ISBN: 9787111407041 内容简介 · · · · · ·Oracle数据库的性能优化直接关系到系统的运行效率,而影响数据库性能的一个重要因素就是SQL性能问题。本书是作者十年磨一剑的成果之一,深入分析与解剖Oracle SQL优化与调优技术,主要内容包括: 第一篇“执行计划”详细介绍各种执行计划的含义与操作,为后面的深入分析打下基础。重点讲解执行计划在SQL语句执行的生命周期中所处的位置和作用,SQL引擎如何生成执行计划以及如何获取SQL语句的执行计划,如何从各种数据源显示和查看已经生成的执行计划。 第二篇“SQL优化技术”深入分析Oracle的SQL优化技术,包括逻辑优化技术和物理优化技术。用大量示例详尽分析Oracle 中现有的各种查询转换技术,先分析Oracle如何收集、统计系统和对象的数据,然后推导各种代价估算公式,给出各种情形下的代价计算演示。 第三篇“SQL调优技术”深入剖析Oracle提供的... 作者简介 · · · · · ·黄玮(Fuyuncat),资深Oracle DBA,从事Oracle数据库管理、维护与开发工作十余年,有丰富的大型数据库设计、开发与维护方面的经验,涉及航空、水利、军工、电信等多个行业。曾供职于某世界著名物流公司,负责公司的电子物流系统的数据库开发和维护工作。2005年创建了个人网站www.HelloDBA.com,致力于数据库底层技术的研究,整理和发布了大量关于数据库系统底层机制、存储结构、性能调优以及基础算法方面的文章,获得广大同行的高度评价。开发了多个与数据恢复、性能监控、内核跟踪相关的免费实用工具,深受欢迎,为Oracle社区做出了很大贡献。 目录 · · · · · ·序前言 第一篇 执行计划 第1章 生成和显示执行计划 / 3 1.1 生成执行计划 / 3 1.2 显示执行计划 / 4 · · · · · ·() 序 前言 第一篇 执行计划 第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 · · · · · · () |
让人叹为观止。
文字表现力极强
语言通俗易懂
同时细微处又有真知灼见