标签
内容简介
《SQL优化核心思想》是罗炳森、黄超、钟侥三位一线数据库工程师合著的一本Oracle SQL性能优化实战书。全书以「理解优化器如何算账」为主线,共分10章:第1章先讲透基数、选择性、直方图、回表、集群因子等必懂概念,以及表与表之间的关系;第2章讲统计信息,包括相关参数设置、统计信息是否过期的检查、扩展统计信息、动态采样与收集策略定制;第3章讲执行计划,介绍获取执行计划的常用方法、如何通过执行计划判断是否需要建索引,以及阅读执行计划的「光标移动大法」;第4章讲访问路径,涵盖单块读与多块读、索引扫描为何有时比全表扫描还慢、DML对索引维护的影响;第5章系统梳理嵌套循环、HASH连接、排序合并连接、笛卡儿连接、标量子查询、半连接、反连接、FILTER等各种表连接方式,并讨论IN与EXISTS的快慢之争;第6章用全表扫描和索引范围扫描的成本计算,推导出全书的核心优化思想;第7章讲子查询非嵌套、视图合并、谓词推入等查询变换;第8章给出一批可直接套用的调优技巧,如用UNION代替OR、分页语句优化、超大表关联、LIKE语句优化、ROWID切片、SQL三段分拆法;第9章收录近二十个来自真实系统的优化案例;第10章介绍全自动SQL审核。全书基于Oracle编写,307页,讲解由浅入深。
编辑推荐
市面上讲SQL优化的书不少,但大多停在「这里加个索引、那里改个写法」的经验层面,讲不清为什么。这本书难得的地方在于,它把优化器当成一个会算账的实体来拆解:先讲基数、选择性、直方图、集群因子这些决定优化器判断的输入,再讲统计信息怎么收集才不失真,然后落到执行计划和访问路径,最后用成本计算公式推出「优化就是让优化器走在正确路径上」这一核心思想。全书章节编排很有层次:概念—统计信息—执行计划—访问路径—连接方式—成本计算,读者顺着读下来,知识是逐层搭建而不是零散堆砌的。作者罗炳森(网名「落落」)、黄超(网名「道道」)、钟侥都在一线做过多年Oracle DBA 和性能优化,第9章近二十个案例来自真实系统,包括组合索引、直方图、分页语句、半连接反向驱动、关联更新等典型场景,读起来不难对上自己遇到过的坑。书基于Oracle写作,但关于成本、连接方式、查询变换的思路对理解其他关系数据库的优化器同样有参考价值。307页的体量也适合当作案头手册,遇到问题按目录翻到对应章节查。
适合谁读
适合
- 正在做Oracle数据库开发或DBA工作、需要定位慢SQL的工程师
- 有一定SQL基础、想弄懂优化器为何选择某条执行计划的开发者
- 需要为团队制定统计信息收集与SQL审核规范的运维/架构人员
- 准备数据库相关技术面试、需要系统梳理SQL优化知识点的求职者
不适合
- 完全没有SQL和关系数据库基础的零起点读者
- 主要使用MySQL、PostgreSQL且只想要单库语法技巧、不关心优化器原理的读者
- 只想找几条「加索引」速成口诀、不愿读成本计算推导的人
阅读建议
- 第1、2章是全书地基,务必先弄清基数、选择性、集群因子和统计信息,后面章节会反复用到这些概念。
- 读到成本计算章节时,建议在测试库上用explain plan对照书中公式自己算一遍,比只看结论理解得深。
- 第8、9章适合当手册用:先通读一遍建立索引,之后遇到具体慢SQL再按目录回查对应技巧与案例。
- 非Oracle用户可重点关注表连接方式、查询变换和优化思想部分,语法差异跳过即可。
出版社简介
人民邮电出版社
中国 · 成立于 1953 年
人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。
目录
- 第1章 SQL优化必懂概念(基数、选择性、直方图、回表、集群因子、表与表之间关系)
- 第2章 统计信息(统计信息重要参数设置、检查是否过期、扩展统计信息、动态采样、定制收集策略)
- 第3章 执行计划(获取方法、定制执行计划、通过执行计划建索引、光标移动大法)
- 第4章 访问路径(常见访问路径、单块读与多块读、索引扫描与全表扫描、DML对索引维护的影响)
- 第5章 表连接方式(嵌套循环、HASH连接、排序合并连接、笛卡儿连接、标量子查询、半连接、反连接、FILTER、IN与EXISTS)
- 第6章 成本计算(全表扫描成本、索引范围扫描成本、SQL优化核心思想)
- 第7章 必须掌握的查询变换(子查询非嵌套、视图合并、谓词推入)
- 第8章 调优技巧(查看真实基数、UNION代替OR、分页语句优化、分析函数优化自连接、超大表关联、LIKE优化、DBLINK优化、ROWID切片、SQL三段分拆法)
- 第9章 SQL优化案例赏析(组合索引、直方图、INDEX SKIP SCAN、分页语句、半连接反向驱动、Filter、树形查询、标量子查询、关联更新等案例)
- 第10章 全自动SQL审核
常见问题
这本书是基于哪种数据库讲的?
全书基于Oracle编写,执行计划、成本计算、访问路径等内容都以Oracle的CBO优化器为背景,但其中关于基数、选择性、表连接方式和查询变换的思路对其他关系数据库也有参考价值。
没有Oracle经验能读懂吗?
书中讲解由浅入深,第1章从基数、选择性等基本概念讲起,有一定SQL基础的读者可以跟上;但完全没接触过Oracle执行计划的读者,建议先在测试库上熟悉explain plan等基本操作。
书里有多少案例,是真实项目吗?
第9章「SQL优化案例赏析」收录了近二十个案例,涉及组合索引、直方图、分页语句、半连接反向驱动、标量子查询、关联更新等场景,来自作者在通信、银行、保险等行业的实际优化工作,具有较强的可类比性。
这本书和「SQL必知必会」那类入门书有什么区别?
入门书侧重语法和查询写法,本书侧重「为什么慢、优化器怎么选路径」,核心是统计信息、执行计划与成本计算,定位是性能优化而非SQL入门。
大约多少字,需要读多久?
全书约46.9万字、307页。按每天一小时的技术书阅读节奏,通读一遍大约两到三周;若边读边在测试库验证,建议预留一个月以上。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。
作者简介
黄超
作者
黄超的公开个人资料有限,目前尚难以确认其国籍、生卒年及教育背景等信息。从库内收录的 5 种作品来看,其写作与编写方向较为多元,涵盖新闻传播、历史读物、励志成长和计算机基础等领域。代表作包括《全媒体新闻编辑·案例教学》《微博外交理念及实践策略》《抗战中的延安》《血性的斗士:闻一多》以及《大学计算机基础(微课版)》。这些作品显示,黄超既能处理媒介与新闻编辑类的专业题材,也关注历史人物与抗战叙事,还涉足面向学习者的计算机入门教材。整体而言,其著述偏重知识普及与案例教学,兼顾专业性与可读性,适合不同读者群体参考阅读。