一文学会快速定位和解决 MySQL 负载高、执行慢的问题!
MySQL的 explain 命令语句提供了如何执行 SQL 语句的信息,解析 SQL 语句的执行计划并展示,explain 支持 select、delete、insert、replace 和 update 等语句,也支持对分区表的解析。
通常 explain 用来获取 select 语句的执行计划,通过 explain 展示的信息我们可以了解到表查询的顺序,表连接的方式等,并根据这些信息判断 select 执行效率,决定是否添加索引或改写 SQL 语句优化表连接方式以提高执行效率。本文参考官方文档:EXPLAIN Output Format 对 explain 输出的内容进行说明,同时也对自己之前使用 explain 不清晰的方面进行总结。
本文使用的 MySQL 版本为官方社区版 5.7.24。
@localhost:(none)> select version();+------------+| version() |+------------+| 5.7.24-log |+------------+1 row in setTime: 0.066s