Mysql性能调优-工具篇
EXPLAIN
首先祭出官方文档(这是5.7的,请自行选择版本):
Understanding the Query Execution Plan
英文不想看,就看这篇吧:
PROFILING
PROFILING在未来版本会废弃,不建议使用。官方文档:
官方推荐的替代方式:
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表是没有数据的。
这是官方文档描述:
这是官方案例:
英文不想看,就看这篇吧: