多语言展示
当前在线:801今日阅读:152今日分享:13

MySQL中如何查看和理解SQL语句的执行计划

MySQL数据库引擎在执行我们的SQL语句时,会先解析生成一份其认为的最优执行计划,然后再按照这份执行计划去执行语句命令。在实际工作中,如果遇到慢SQL的问题,获取其执行计划将有利于我们理清SQL语句的调优思路,本篇经验就分享一下如何在 MySQL 中查看一条语句的执行计划以及执行计划中的各列所代表的意义。
工具/原料

MySQL(Windows操作系统)

方法/步骤
1

打开命令行窗口,连接 MySQL 数据库图示,打开一个命令行窗口,通过 MySQL 数据库提供的 mysql 命令连接数据库,并定位到演示使用的表 single_table, 该表包含一个主键索引,一个唯一索引,两个二级单列索引和一个二级组合索引(建表语句请参考图示)。

2

查看一个普通SQL语句的执行计划 图示,通过 explain SQL 语句即可查看该语句的执行计划,返回的结果中会显示该查询使用的单表访问方式、可能用到的索引以及预测扫描的总行数等信息。

3

查看使用主键索引和唯一索引的SQL的执行计划图1示,执行计划会显示该查询使用主索引,对于单表的访问方式为 const。图2示,执行计划会显示该查询使用唯一索引,对于单表的访问方式也是 const。

4

查看使用二级单列索引的区间查询SQL的执行计划图示,执行计划会显示该查询使用二级单列索引,对于单表的访问方式为 range。

推荐信息