EXPLAIN
首先祭出官方文档(这是5.7的,请自行选择版本):
Understanding the Query Execution Plan
英文不想看,就看这篇吧:
全网最全 | MySQL EXPLAIN 完全解读
PROFILING
PROFILING在未来版本会废弃,不建议使用。官方文档:
SHOW PROFILE Statement
官方推荐的替代方式:
Query Profiling Using Performance Schema
如果安装了navicat(版本15,其他版本没测试),直接执行SQL,在结果旁边的剖析,就是结果。
OPTIMIZER TRACE
-
查看是否开启,默认是禁止的。
SHOW VARIABLES LIKE \'optimizer_trace\';
enabled:是否开启
one_line:是否在一行输出
-
开启
SET OPTIMIZER_TRACE=\"enabled=on\";
-
执行想要调试的SQL
-
查看上一个查询的优化过程
SELECT * FROM information_schema.OPTIMIZER_TRACE;
注意:以上过程请不要使用navicat,否则OPTIMIZER_TRACE表是没有数据的。
这是官方文档描述:
Tracing the Optimizer
这是官方案例:
Example
英文不想看,就看这篇吧:
MySQL 调优 | OPTIMIZER_TRACE详解
来源:https://www.cnblogs.com/konghuanxi/p/16250064.html
本站部分图文来源于网络,如有侵权请联系删除。