18、读懂MySQL中的执行计划(上)你好,我是俊达。 上一讲我介绍了数据库中最主要的几种访问路径,不同的访问路径,在执行性能上可能会存在巨大的差别。但是我们怎么知道某一个具体的SQL语句在执行时,采用了什么样的访问路径呢?这就涉及到SQL的执行计划了。执行计划描述了SQL语句的访问路径...2026-01-19MySQL运维实战课
18、读懂MySQL中的执行计划(下)接上一讲 POSSIBLE_KEYSpossible_keys列显示查询单元能使用range、ref等访问路径访问的索引。执行计划最终选择的索引在keys列显示。是否使用索引,以及使用哪个索引,取决于优化器对各种访问方式的成本评估,还跟表连接的顺序和...2026-01-19MySQL运维实战课
19、优化器成本模型:优化器为什么选择这个执行计划你好,我是俊达。 上一讲中,我们通过四十多个SQL,演示了MySQL各种不同的执行计划。对于给定的一个SQL语句,MySQL为什么选择了某一个执行计划,而没有采用其他的执行计划呢?优化器会评估每一个可能的执行计划的成本,从中选择一个成本最低的作为最终...2026-01-19MySQL运维实战课
20、单表查询:如何评估单表访问成本你好,我是俊达。 上一讲中我们介绍了优化器的工作原理,并介绍了全表扫描和索引范围扫描的成本评估方法。在这一讲中,我们继续来学习单表查询的其他几种访问路径:REF、覆盖索引、MRR、Index Merge。最后,我们还将通过一个真实的业务场景,来讨论怎...2026-01-19MySQL运维实战课
21、表连接如何执行你好,我是俊达。 这一讲我们来聊一聊MySQL中的表连接是怎么执行的。 从功能或语法上来看,表连接有内连接(Inner Join)和外连接(Outer Join)。外连接又包括左连接(Left Outer Join)、右连接(Right Outer ...2026-01-19MySQL运维实战课
22、MySQL子查询优化策略你好,我是俊达。 这一讲,我们来讨论子查询的一些优化策略。子查询是SQL很重要的一个能力,平时也不少见。 子查询的一个例子早期MySQL(5.5以及更早的版本)对子查询的支持比较弱,使用子查询时容易遇到性能问题。 在13讲的思考题中,就有一个执行了几...2026-01-19MySQL运维实战课