当前位置:主页 > 计算机电子书 > 数据库 > SQL优化下载
SQL优化核心思想

SQL优化核心思想 PDF 完整版

  • 更新:2021-05-07
  • 大小:3.9MB
  • 类别:SQL优化
  • 作者:罗炳森、黄超、钟侥
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

SQL优化核心思想

出版时间: 2018

结构化查询语言(Structured Query Language,SQL)是一种功能强大的数据库语言。它基于关系代数运算,功能丰富、语言简洁、使用方便灵活,已成为关系数据库的标准语言。本书旨在引导读者掌握SQL优化技能,以更好地提升数据库性能。本书共分10章,从SQL基础知识、统计信息、执行计划、访问路径、表连接方式、成本计算、查询变换、调优技巧、经典案例、全自动SQL审核等角度介绍了有关SQL优化的方方面面。本书基于Oracle进行编写,内容讲解由浅入深,适合各个层次的读者学习。本书面向一线工程师、运维工程师、数据库管理员以及系统设计与开发人员,无论是初学者还是有一定基础的读者,都将从中获益。

目录

  • 第 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.1TABLE ACCESS FULL 67
  • 4.1.2TABLE ACCESS BY USER ROWID 71
  • 4.1.3TABLE ACCESS BY ROWID RANGE 71
  • 4.1.4TABLE ACCESS BY INDEX ROWID 72
  • 4.1.5INDEX UNIQUE SCAN 72
  • 4.1.6INDEX RANGE SCAN 73
  • 4.1.7INDEX SKIP SCAN 74
  • 4.1.8INDEX FULL SCAN 75
  • 4.1.9INDEX FAST FULL SCAN 77
  • 4.1.10INDEX FULL SCAN (MIN/MAX) 80
  • 4.1.11MAT_VIEW REWRITE ACCESS FULL 83
  • 4.2单块读与多块读 83
  • 4.3为什么有时候索引扫描比全表扫描更慢 84
  • 4.4DML对于索引维护的影响 84
  • 第5章表连接方式 86
  • 5.1嵌套循环(NESTED LOOPS) 86
  • 5.2HASH连接(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.8FILTER 108
  • 5.9IN与EXISTS谁快谁慢 111
  • 5.10SQL语句的本质 111
  • 第6章成本计算 112
  • 6.1优化SQL需要看COST吗 112
  • 6.2全表扫描成本计算 112
  • 6.3索引范围扫描成本计算 116
  • 6.4SQL优化核心思想 119
  • 第7章必须掌握的查询变换 120
  • 7.1子查询非嵌套 120
  • 7.2视图合并 125
  • 7.3谓词推入 129
  • 第8章调优技巧 133
  • 8.1查看真实的基数(Rows) 133
  • 8.2使用UNION代替OR 134
  • 8.3分页语句优化思路 135
  • 8.3.1单表分页优化思路 135
  • 8.3.2多表关联分页优化思路 150
  • 8.4使用分析函数优化自连接 153
  • 8.5超大表与超小表关联优化方法 154
  • 8.6超大表与超大表关联优化方法 155
  • 8.7LIKE语句优化方法 159
  • 8.8DBLINK优化 161
  • 8.9对表进行ROWID切片 167
  • 8.10SQL三段分拆法 169
  • 第9章SQL优化案例赏析 170
  • 9.1组合索引优化案例 170
  • 9.2直方图优化案例 173
  • 9.3NL被驱动表不能走INDEX SKIP SCAN 177
  • 9.4优化SQL需要注意表与表之间关系 178
  • 9.5INDEX FAST FULL SCAN优化案例 179
  • 9.6分页语句优化案例 181
  • 9.7ORDER BY取别名列优化案例 183
  • 9.8半连接反向驱动主表案例一 185
  • 9.9半连接反向驱动主表案例二 187
  • 9.10连接列数据分布不均衡导致性能问题 192
  • 9.11Filter优化经典案例 198
  • 9.12树形查询优化案例 202
  • 9.13本地索引优化案例 204
  • 9.14标量子查询优化案例 206
  • 9.14.1案例一 206
  • 9.14.2案例二 207
  • 9.15关联更新优化案例 211
  • 9.16外连接有OR关联条件只能走NL 213
  • 9.17把你脑袋当CBO 217
  • 9.18扩展统计信息优化案例 221
  • 9.19使用LISGAGG分析函数优化WMSYS.WM_CONCAT 227
  • 9.20INSTR非等值关联优化案例 230
  • 9.21REGEXP_LIKE非等值关联优化案例 233
  • 9.22ROW LEVEL SECURITY优化案例 237
  • 9.23子查询非嵌套优化案例一 240
  • 9.24子查询非嵌套优化案例二 247
  • 9.25烂用外连接导致无法谓词推入 252
  • 9.26谓词推入优化案例 262
  • 9.27使用CARDINALITY优化SQL 268
  • 9.28利用等待事件优化SQL 272
  • 第 10章全自动SQL审核 281
  • 10.1抓出外键没创建索引的表 281
  • 10.2抓出需要收集直方图的列 282
  • 10.3抓出必须创建索引的列 283
  • 10.4抓出SELECT * 的SQL 284
  • 10.5抓出有标量子查询的SQL 285
  • 10.6抓出带有自定义函数的SQL 286
  • 10.7抓出表被多次反复调用SQL 287
  • 10.8抓出走了FILTER的SQL 288
  • 10.9抓出返回行数较多的嵌套循环SQL 290
  • 10.10抓出NL被驱动表走了全表扫描的SQL 292
  • 10.11抓出走了TABLE ACCESS FULL的SQL 293
  • 10.12抓出走了INDEX FULL SCAN的SQL 294
  • 10.13抓出走了INDEX SKIP SCAN的SQL 295
  • 10.14抓出索引被哪些SQL引用 297
  • 10.15抓出走了笛卡儿积的SQL 298
  • 10.16抓出走了错误的排序合并连接的SQL 299
  • 10.17抓出LOOP套LOOP的PSQL 301
  • 10.18抓出走了低选择性索引的SQL 302
  • 10.19抓出可以创建组合索引的SQL(回表再过滤选择性高的列) 304
  • 10.20抓出可以创建组合索引的SQL(回表只访问少数字段) 306
     

资源下载

资源下载地址1:https://pan.baidu.com/s/1ZSZpl_BLnP-COnY7PjyBUCQ

相关资源

网友留言