SQL是关键的关系型数据库实际操作語言。SQL语句的运作高效率,针对数据库查询的总体特性尤为重要。因而,SQL语句的优化就变成数据库查询技术专业工作人员务必把握的一门专业技能。做为一个长期性从业数据库查询工作中的专业技术人员,常常应对许多新手对怎样新手入门、如何提高SQL语句优化工作能力的疑惑。这书避开了目前市面上大多数有关SQL优化的书藉解读內容过度难懂的难题,以一线研发工程师的語言和角度进行,基础理论与实践并举,不但合适新手,也合适中档专业技术人员进一步提高。
《SQL优化最佳实践:构建高效率Oracle数据库的方法与技巧》以很多案例为借助,系统软件解读了SQL语句优化的基本原理、方式及技术性关键点。这书尤其重视实践,在章节目录中引进了很多的案例,有利于学生实践、检测,不断揣测。
前言篇,小结了具体工作上普遍的难题,并根据真正案例让读者形象化感受到SQL语句优化的关键。另外在每一个案例后边,还对于案例中出現的难题开展了小结。
原理篇,关键解读了和SQL语句优化有关的基本知识及必需的一些实际操作,包含了优化器、成本费、执行计划、统计数据、语句分析、游标、关联自变量、数据信息目标等诸多方面。
实战篇,它是这书的重中之重,详尽叙述了优化器针对SQL语句的多种多样处理方法,包含查寻变换、数据信息目标浏览方法、表关系、半/反联接、子查询、排列、并行处理这些。读者了解了这种內容,能够 尽快了解优化器的个人行为,进而使优化更为以问题为导向。这些实战演练性极强,读者能够 做为书案参考文献,随时随地查看,不断实践。
此外,这书还出示了五个附则,这些对书里提及的案例撰写方法及有关知识要点开展了详细描述,目地是协助读者,尤其是新手尽快开展实践。
目录
- 前言
- 第一篇引入篇
- 第0章引言
- 第1章与SQL优化相关的几个案例
- 案例1-条SQL引发的血案
- 案例2糟糕的结构设计带来的问题
- 案例3规范SQL写法好处多
- 案例4“月底难过
- 案例5 COUNT(*)到底能有多快
- 案例6“抽丝剥茧”找出问题所在
- 第二篇原理篇
- 第2章优化器与成本
- 2.1优化器
- 2.1.1基于规则的优化器
- 2.1.2基于成本的优化器
- 2.1.3对比两种优化器
- 2.1.4优化器相关参数
- 优化器相关Hint
- 基本概念
- 计算公式
- 计算示例
- 第3章执行计划
- 3.1概述
- 3.1.1什么是执行计划
- 3.1.2库执行计划存储方式
- 3.2解读执行计划
- 3.2.1执行顺序
- 3.2.2访问路径
- 3.3执行计划操作
- 3.3.1查看执行计划
- 3.3.2固定执行计划
- 3.3.3修改执行计划
- 第4章统计信息
- 4.1统计信息分类
- 4.1.1系统统计信息
- 4.1.2对象统计信息
- 4.1.3数据字典统计信息
- 4.1.4内部对象统计信息
- ?4.2统计信息操作
- 4.2.1系统统计信息
- 4.2.2对象统计信息
- 4.2.3数据字典统计信息
- 4.2.4内部对象统计信息
- 第5章SQL解析与游标
- 5.1解析步骤
- 5.2解析过程
- 5.3游标示例
- 第6章绑定变量
- 6.1使用方法
- 6.2绑定变量与解析
- 6.3游标共享
- 第7章SQL优化相关对象
- 7.1表
- 7.2字段
- 7.3索引
- 7.4视图
- 7.5函数
- 7.6数据链(DB-LINK)
- 第8章SQL优化相关存储结构
- 8.1表空间
- 8.2段
- 8.3区
- 8.4块
- 第9章特有SQL
- 9.1 MERGE-----
- 9.2 INSERT ALL
- 9.4 CONNECT BY/START WITH
- 第三篇实战篇
- 第10章查询转换
- 10.1查询转换的分类及说明
- 10.2查询转换——子查询类
- 10.3查询转换——视图类
- 10.4查询转换——谓词类
- 10.5查询转换——消除类
- 10.6查询转换——其他
- 第11章访问路径
- 11.1表访问路径
- 11.1.1全表扫描
- 11.1.2 ROWID扫描
- 11.1.3采样扫描
- 11.2 B树索引访问路径
- 1113位图索引访问路径
- 11.4其他访问路径
- 第12章表间关联
- 12.1关联关系
- 12.2表关联实现方法
- 12.3嵌套循环连接
- 12.4排序合并连接
- 12.5哈希连接
- 12.6其他连接方式
- 第13章半连接与反连接
- 13.1半连接
- ?13.2反连接
- 第14章排序
- 14.1引发排序的操作
- 14.2避免和减少排序
- 14.2.1优化原则及基本方法
- 14.2.2避免排序的示例
- 14.3排序过程及内存使用
- 14.4执行计划中的“Sort”
- 第15章子查询
- 15.1处理方式
- 15.2子查询分类
- 15.2.1按照语法分类
- 15.2.2按照谓词分类
- 15.2.3示例
- 15.3子查询优化
- 15.4子查询特殊问题
- 15.4.1空值问题
- 15.4.2 0R问题
- 15.4.3 [NOT] IN/EXISTS问题
- 第16章并行
- 16.1并行操作
- 16.1.1并行查询
- 16.1.2并行DML
- 16.1.3并行DDL
- 16.2并行级别
- 16.3并行原理
- 16.3.1从属进程
- 16.3.2粒度
- 附录A常用技巧
- 附录BSQL优化参数
- 附录CSQL优化数据字典
- 附录DSQL优化等待事件
- 附录ESQL优化提示