高性能SQL调优精要与案例解析
  • 推荐0
  • 收藏3
  • 浏览558

高性能SQL调优精要与案例解析

闫书清 (作者) 

  • 书  号:978-7-121-32362-1
  • 出版日期:2017-08-09
  • 页  数:308
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:安娜
纸质版 ¥69.00

相关图书

Effective SQL:编写高质量SQL语句的61条有效方法(英文版)

John L. Viescas; Douglas J. Steele;Ben G. Clothier (作者) (译者)

本书全面系统地介绍了SQL语言各方面的基础知识以及一些高级特性,包括SQL数据语言、SQL方案语言、数据集操作、子查询以及内建函数与条件逻辑等内容。书中每个章节...

 

C++语法词典

黄勇 (作者)

本书对C++的语法进行了全面介绍和深入讲解,内容包括:C++整型、字符型、浮点型、声明、定义、typedef、运算符、表达式、左值、选择语句、循环语句、指针、数...

¥89.00

MySQL运维内参:MySQL、Galera、Inception核心原理与最佳实践

周彦伟 (作者)

MySQL能够处理拥有数十亿行的大型数据库,随着越来越多的公司和大型组织发现MySQL完全能够满足自己的数据库处理需求,其用户量一直还会持续高速增长。本书是一本...

¥119.00

深入理解Redis

汪佳南 (作者) 汪佳南 (译者)

本书以由浅入深、由原理到应用场景的方式介绍了Redis 这款NoSQL 数据库产品。书中不仅细致地讲解了Redis 中的数据结构及流行的使用模式,还针对Redi...

¥55.00

对象存储:OpenStack Swift应用、管理与开发

Joe Arnold (作者) 李明宇 (译者)

本书主要介绍了OpenStack Swift的原理与架构,以及应用程序设计、安装、部署、运维与性能测试等内容。本书用生动翔实的语言带你领略Swift对象存储的魅...

¥59.00

分布式数据库架构及企业实践——基于Mycat中间件

周继锋等 (作者)

互联网的蓬勃发展,业务驱动技术不断升级,在系统越来越庞大,技术越来越复杂,应用部署集群化,所有压力全部指向数据库,数据量巨大,数据库优化也到极限了,数据库的运维...

¥59.00
本书共分为两篇,基础篇(第1 章~第10 章)介绍了SQL 调优应该具备和掌握的理论和方法,
实践篇(第11 章)精选并深入解析了10 个现实中的实际案例。
本书前3 章主要介绍了Oracle 数据库架构设计及实现方面的内容。第4 章详细讲解了Oracle 各
种数据库对象的相关实现、特性和理解。第5 章介绍了事务及Oracle 事务相关的特性。第6~8 章详
细讲解了执行计划及其相关因素、方法和元素。第9~10 章分别讲解了如何通过分析SQL 语句执行
计划来确定其性能瓶颈,进而解决相关问题的思路和方法。第11 章以精选的10 个现实中的实际案例
为样本,并对其逐一进行了理论结合实践的深入讲解和剖析,以期通过实际案例的解析,达到读者对
基础理论进行验证、再学习的目的。
本书适用于所有关系数据库相关从业人员,尤其是中高端技术人员。
以实战为目的,详细讲解了大数据时代SQL调优工作中分析和解决问题的思路、方法与步骤,挖掘数据中隐藏的巨大价值。
前 言
在当今信息时代,各行业的数据均呈爆炸式增长,这不仅为我们认识和掌握规律,进而推
动整个社会发展提供了更多依据、途径和动力,同时对我们提出了更高的目标和要求。因为,
面对如此海量数据,我们除了要科学地管理好它,更重要的是,要充分地利用好它,否则,这
些将成为我们沉重的负担和累赘。那么,如何才能从这些海量数据中挖掘出蕴藏的巨大价值
呢?
以Oracle 为首的关系型数据库,历经几十年的高速发展,凭借其理论和技术上的优势,
目前已为广大客户所垂青和依赖,并充斥于各行各业的每个角落。同时,关系型数据库也已成
为海量数据的主要容器和工具,以至于,以Oracle 为首的关系型数据库几乎成了数据的代名
词。诚然,当今的数据库领域是个开放、多元的时代,各种数据产品和概念可谓百花齐放,但
是,由于目前除关系型数据库外的其他产品都有其特定的场景和限制,因而在短时期内,关系
型数据库在数据领域的重要地位依然难以被撼动和替代。
说到海量数据,大家自然会想到数据库优化,进而又必然会想到SQL 调优,当然,除了
SQL 调优,数据库优化还涉及其他方面的诸多内容。实际上,针对海量数据和数据库优化,
SQL 调优占据着非常大的比重,通常也会带来非常明显的效果。现实情况中,一条存在性能
问题的SQL 语句,也许会拖垮整个系统;同时,一条SQL 语句的完美优化,又可能使整个系
统的问题瞬间灰飞烟灭。鉴于SQL 调优的重要性,本书将对其进行详细论述和深入解析。
目前,SQL 调优方面的优秀书籍在国内市场并不多见,希望本书能填补这个空白和缺憾。
本书开篇从基础入手,详细论述SQL 调优所需具备的理论知识,以及对它们的深入、正确理
解。本书后半部分精选了10 个实际案例作为样本,并结合前面的基础理论,对这些案例进行
了详细、深入的剖析,以说明应用基础理论解决实际案例的思路、方法和步骤等。本书既注重
基础理论,又强调实践应用,通篇理论和实践浑然一体,相信会让各位读者有焕然一新、豁然
开朗的感觉,同时,衷心希望各位读者能通过本书多多受益。
本书虽然基于Oracle 关系型数据库创作与编写,但就理论和实践方面,对其他关系型数
据库的SQL 调优,依然具有很好的借鉴意义。另外,作者在本书适当位置为读者留有疑问,
且很多语句或命令中带有省略号“...”,初衷在于启发读者主动学习、研究和解决问题的动力
和方法,同时为读者学习、思考和研究留有更大空间,从而达到授人以渔而非仅授人以鱼的效
果。
作者结合多年来的学习、研究和实践经验,旨在努力打造一部SQL 调优方面的经典之作,
更希望其能成为读者学习航程上的一座灯塔。但限于时间等诸多因素,疏漏之处再所难免,欢
迎各位读者批评指正。
最后,谨对多年来一直默默陪伴和支持我的家人及所有的老师、朋友,表示深深的感激和
敬意!
特别值得提出的是,本书的出版得到了电子工业出版社安娜等各位老师的大力支持和帮
助,没有各位老师的耐心指导和辛勤付出,本书不会在这么短时间内如此完美地展现在读者面
前,在此,表示衷心的感谢和深深的敬意。

目录

基础篇
第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 ANSI/ISO 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
实践篇
第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

读者评论

图书类别