爱了!阿里 P8 纯手码出 489 页 SQL 优化手册,附笔记源码
有数据库就有 SQL,而 SQL 又因其灵活、复杂,而让众多应用系统饱受性能之苦。
众所周知,数据库应用是 IT 系统极其关键的核心组成部分,而 SQL 是数据库唯一的交互语言,SQL 语句实现难度不大,但是 SQL 语句优化却比较复杂,做好 SQL 优化需要掌握数据库体系结构、表和索引设计、高效 SQL 写法、高级 SQL 语法、多种优化工具等知识,甚至还得分析业务特点,以及了解优化器的缺点。
只有建立 SQL 优化方法论体系,才能够迅速找到最适合的方法来优化 SQL,从而解决由 SQL 引发的性能问题。助人为乐的互联网雷锋(小编我)帮大家找到了这份阿里 P8 大佬纯手码的《收获,不止 SQL 优化 抓住 SQL 的本质》免费分享给大家,来帮助大家学习提升 SQL 优化能力!
限于文章篇幅原因,只能以截图的形式展示出来,有需要的小伙伴 点击这里凭本文截图即可获取!
目录总览
内容节选
第 1 章全局在胸--用工具对 SQL 整体优化
SQL 优化是一个复杂的工程,首先要讲究从整体到局部。
首先,我们学习关于数据库整体优化都有哪些性能工具。接着分析这些工具的特点,并结合案例进行探索。
第 2 章风驰电掣--有效缩短 SQL 优化过程
首先说明调优时间都花在哪儿,接下来分析如何缩短,然后结合案例来巩固知识。
第 3 章循规蹈矩--如何读懂 SQL 执行计划
执行计划是什么,如何读懂执行计划,读懂执行计划对我们又有什么用?面对这些疑问,我们从执行计划分析概述、读懂执行计划的关键、从案例中辨别低效 SOL、总结思考这四部分
第 4 章运筹帷幄--左右 SQL 执行计划妙招
接下来将教会大家如何真正读懂执行计划
第 5 章且慢,感受体系结构让 SQL 飞
我们在接下来的 7 章里大部分内容都是教大家如何不改写 SQL 完成 SQL 优化。
本章会较为简要地给大家介绍一下体系结构知识,然后描述体系结构和 SQL 优化的关系。最后通过系列扩展的相关优化案例来拓宽我们的视野,从而使我们更深入地了解体系结构的原理。
第 6 章且慢,体验逻辑结构让 SQL 飞
逻辑结构与 SQL 优化之间的关系是大部分人容易忽略的。
本章我们先从简单的逻辑结构知识开始介绍,接下来对所有可能和 SQL 优化有关的逻辑结构的细节做进一步的描述。
第 7 章且慢,探寻表的设计让 SQL 飞
如果我们只是站在表的特性上来研究,显然是不够的。我们还要紧抓业务,站在业务的层面来思考表设计,这才是最高境界。
接下来我们从表设计知识、表设计与 SQL 优化、相关案例和总结 4 个方面展开本章的学习。
第 8 章且慢,学习索引如何让 SQL 飞
索引是 SQL 优化使用频度最高的优化武器。
本章我们先从索引的知识要点入手,得出索引的结构后我们开始尝试让索引的原理和 SOL 结合起来。
第 9 章且慢,弄清索引之阻碍让 SQL 飞
任何事物都有它的两面性,索引也不例外。
本章我们先简要综述一下索引的不足之处有哪些,接下来详细阐述,随后一起和大家探索各种工作中的案例。
第 10 章且慢,其他索引应用让 SQL 飞
除了普通索引,还有一些比较特殊的索引, 比如位图索引、函数索引、反向键索引和全文索引。它们的结构很特殊,应用的场景也比较特殊,如果我们能巧妙地将这类索引的特性和业务场景结合起来,在 SQL 优化上将起到意想不到的效果。
本章还是先从其他索引的总体概述开始讲述,接着进一步通过各种试验 了解特性,然后进入案例实战体会环节,最后总结。
第 11 章且慢,表连接的秘密让 SQL 飞
本章我们将了解 Nested Loops Join、 Hash Join、 Merge Sort Join 这三大表连接类型及表连接的知识要点。还将通过研究具体的优化案例来加深印象
第 12 章动手,经典等价改写让 SQL 飞
SQL 优化的本质就是减少访问路径。
在很多场景下,我们必须要完成一些等价改写,比如 case when 改造、rownum 分页改写,等等。除了减少访问路径外,还要注意避免外因的影响,比如,一些执行计划不稳定,所在环境的资源不足,等等,这些也是我们需要注意的。
第 13 章动手,过程函数优化让 SQL 飞
如果能用集合的写法来完成 PL/SQL 的优化改造,优化效果会好得多。
集合的优化是本章的重点内容。同时还将介绍定义类型的优化、动态 SQL 的优化和一些其他相关扩展案例。
第 14 章动手,高级写法应用让 SQL 飞
现在我们开始学习高级 SQL 让性能提升的方法....
这里说的高级 SQL,只是一种说法, 大概就是一些 看起来有些不寻常的特殊 SQL,比如 insert all 语句、with 子句、merge 等。这些 SQL 有一个共同的特点,就是它们都在内部被优化过了,可以通过比较简单、单步骤的语法来实现复杂和多步骤的功能,同时在性能上还能有不少提升。
第 15 章动手,分析函数让 SQL 飞
第 16 章动手,把握需求改写让 SQL 飞
了解需求, 理清业务关系。
总结起来就是,你要确保具备等价改造 SQL 的意识和本领,然后再大胆结合业务,把握真正的需求,完成优化改造。
第 17 章总结与延伸:从勿信讹传到洞若观火
现在的互联网时代,到处都充斥着虚假错误的信息。
SQL 优化也不例外,网络上很多所谓的优化宝典等描述的建议都是错误的或者是过时的,你信吗?如果不信, 请看随后的关于 SQL 优化的各种谣传。都是有脚本有真相哦。
限于文章篇幅原因,就展示到这里了,有需要的小伙伴 点击这里凭本文截图即可获取!
SQL 优化不只是一门技术,更是一门艺术!
将基于实战的优化方法论融合在美丽的思维导图里,我们看到的,是优化之美!
评论