SQL优化核心思想
¥
36.62
4.6折
¥
79
九品
仅1件
作者罗炳森 黄超 钟侥
出版社人民邮电出版社
出版时间2018-04
版次1
装帧其他
货号A5
上书时间2024-12-01
商品详情
- 品相描述:九品
图书标准信息
-
作者
罗炳森 黄超 钟侥
-
出版社
人民邮电出版社
-
出版时间
2018-04
-
版次
1
-
ISBN
9787115478498
-
定价
79.00元
-
装帧
其他
-
开本
16开
-
纸张
胶版纸
-
页数
307页
-
字数
445千字
- 【内容简介】
-
结构化查询语言(Structured Query Language,SQL)是一种功能强大的数据库语言。它基于关系代数运算,功能丰富、语言简洁、使用方便灵活,已成为关系数据库的标准语言。
本书旨在引导读者掌握SQL优化技能,以更好地提升数据库性能。本书共分10章,从SQL基础知识、统计信息、执行计划、访问路径、表连接方式、成本计算、查询变换、调优技巧、经典案例、全自动SQL审核等角度介绍了有关SQL优化的方方面面。
本书基于Oracle进行编写,内容讲解由浅入深,适合各个层次的读者学习。本书面向一线工程师、运维工程师、数据库管理员以及系统设计与开发人员,无论是初学者还是有一定基础的读者,都将从中获益。
- 【作者简介】
-
罗炳森
网名“落落”,2010年毕业于西南大学软件工程专业,2015年与他人联合出版了《Oracle查询优化改写技巧与案例》一书。先后在惠普、用友等大型公司担任DBA、性能优化工程师等岗位,长期致力于SQL优化技术的研究和培训,现阶段开始涉及大数据、深度学习和人工智能等领域。
黄超
网名“道道”,2007年毕业于华中科技大学数学系,擅长SQL、PLSQL优化技术,拥有8年多的数据仓库架构管理经验,曾参与过大量移动通信、银行、保险等行业的系统优化升级工作。
钟侥
网名“七年” ,2009年毕业于武汉理工大学软件工程专业,拥有8年的数据库开发运维经验, 期间主要负责Oracle、MySQL的管理和优化工作,熟悉数据仓库体系以及大数据等领域。
- 【目录】
-
第 1章 SQL优化必懂概念1
1.1 基数(CARDINALITY)1
1.2 选择性(SELECTIVITY)3
1.3 直方图(HISTOGRAM)7
1.4 回表(TABLE ACCESS BY INDEXROWID)13
1.5 集群因子(CLUSTERING FACTOR)15
1.6 表与表之间关系19
第 2章 统计信息21
2.1 什么是统计信息21
2.2 统计信息重要参数设置24
2.3 检查统计信息是否过期32
2.4 扩展统计信息37
2.5 动态采样42
2.6 定制统计信息收集策略47
第3章 执行计划49
3.1 获取执行计划常用方法49
3.1.1 使用AUTOTRACE查看执行计划49
3.1.2 使用EXPLAIN PLAN FOR查看执行计划52
3.1.3 查看带有A-TIME的执行计划54
3.1.4 查看正在执行的SQL的执行计划56
3.2 定制执行计划57
3.3 怎么通过查看执行计划建立索引59
3.4 运用光标移动大法阅读执行计划63
第4章 访问路径(ACCESS PATH)67
4.1 常见访问路径67
4.1.1 TABLE ACCESS FULL67
4.1.2 TABLE ACCESS BY USER ROWID71
4.1.3 TABLE ACCESS BY ROWID RANGE71
4.1.4 TABLE ACCESS BY INDEX ROWID72
4.1.5 INDEX UNIQUE SCAN72
4.1.6 INDEX RANGE SCAN73
4.1.7 INDEX SKIP SCAN74
4.1.8 INDEX FULL SCAN75
4.1.9 INDEX FAST FULL SCAN77
4.1.10 INDEX FULL SCAN (MIN/MAX)80
4.1.11 MAT_VIEW REWRITE ACCESS FULL83
4.2 单块读与多块读83
4.3 为什么有时候索引扫描比全表扫描更慢84
4.4 DML对于索引维护的影响84
第5章 表连接方式86
5.1 嵌套循环(NESTED LOOPS)86
5.2 HASH连接(HASH JOIN)90
5.3 排序合并连接(SORT MERGE JOIN)93
5.4 笛卡儿连接(CARTESIAN JOIN)95
5.5 标量子查询(SCALAR SUBQUERY)98
5.6 半连接(SEMI JOIN)100
5.6.1 半连接等价改写100
5.6.2 控制半连接执行计划101
5.6.3 读者思考103
5.7 反连接(ANTI JOIN)104
5.7.1 反连接等价改写104
5.7.2 控制反连接执行计划105
5.7.3 读者思考108
5.8 FILTER108
5.9 IN与EXISTS谁快谁慢111
5.10 SQL语句的本质111
第6章 成本计算112
6.1 优化SQL需要看COST吗112
6.2 全表扫描成本计算112
6.3 索引范围扫描成本计算116
6.4 SQL优化核心思想119
第7章 必须掌握的查询变换120
7.1 子查询非嵌套120
7.2 视图合并125
7.3 谓词推入129
第8章 调优技巧133
8.1 查看真实的基数(Rows)133
8.2 使用UNION代替OR134
8.3 分页语句优化思路135
8.3.1 单表分页优化思路135
8.3.2 多表关联分页优化思路150
8.4 使用分析函数优化自连接153
8.5 超大表与超小表关联优化方法154
8.6 超大表与超大表关联优化方法155
8.7 LIKE语句优化方法159
8.8 DBLINK优化161
8.9 对表进行ROWID切片167
8.10 SQL三段分拆法169
第9章 SQL优化案例赏析170
9.1 组合索引优化案例170
9.2 直方图优化案例173
9.3 NL被驱动表不能走INDEX SKIP SCAN177
9.4 优化SQL需要注意表与表之间关系178
9.5 INDEX FAST FULL SCAN优化案例179
9.6 分页语句优化案例181
9.7 ORDER BY取别名列优化案例183
9.8 半连接反向驱动主表案例一185
9.9 半连接反向驱动主表案例二187
9.10 连接列数据分布不均衡导致性能问题192
9.11 Filter优化经典案例198
9.12 树形查询优化案例202
9.13 本地索引优化案例204
9.14 标量子查询优化案例206
9.14.1 案例一206
9.14.2 案例二207
9.15 关联更新优化案例211
9.16 外连接有OR关联条件只能走NL213
9.17 把你脑袋当CBO217
9.18 扩展统计信息优化案例221
9.19 使用LISGAGG分析函数优化WMSYS.WM_CONCAT227
9.20 INSTR非等值关联优化案例230
9.21 REGEXP_LIKE非等值关联优化案例233
9.22 ROW LEVEL SECURITY优化案例237
9.23 子查询非嵌套优化案例一240
9.24 子查询非嵌套优化案例二247
9.25 烂用外连接导致无法谓词推入252
9.26 谓词推入优化案例262
9.27 使用CARDINALITY优化SQL268
9.28 利用等待事件优化SQL272
第 10章 全自动SQL审核281
10.1 抓出外键没创建索引的表281
10.2 抓出需要收集直方图的列282
10.3 抓出必须创建索引的列283
10.4 抓出SELECT * 的SQL284
10.5 抓出有标量子查询的SQL285
10.6 抓出带有自定义函数的SQL286
10.7 抓出表被多次反复调用SQL287
10.8 抓出走了FILTER的SQL288
10.9 抓出返回行数较多的嵌套循环SQL290
10.10 抓出NL被驱动表走了全表扫描的SQL292
10.11 抓出走了TABLE ACCESS FULL的SQL293
10.12 抓出走了INDEX FULL SCAN的SQL294
10.13 抓出走了INDEX SKIP SCAN的SQL295
10.14 抓出索引被哪些SQL引用297
10.15 抓出走了笛卡儿积的SQL298
10.16 抓出走了错误的排序合并连接的SQL299
10.17 抓出LOOP套LOOP的PSQL301
10.18 抓出走了低选择性索引的SQL302
10.19 抓出可以创建组合索引的SQL(回表再过滤选择性高的列)304
10.20 抓出可以创建组合索引的SQL(回表只访问少数字段)306
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价