Mysql性能调优-工具篇

2022年5月3日 363点热度 0人点赞 0条评论

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

  1. 查看是否开启,默认是禁止的。
    SHOW VARIABLES LIKE 'optimizer_trace';
    

    enabled:是否开启

    one_line:是否在一行输出

  2. 开启

    SET OPTIMIZER_TRACE="enabled=on";
    
  3. 执行想要调试的SQL

  4. 查看上一个查询的优化过程

    SELECT * FROM information_schema.OPTIMIZER_TRACE;
    
注意:以上过程请不要使用navicat,否则OPTIMIZER_TRACE表是没有数据的。

这是官方文档描述:

Tracing the Optimizer

这是官方案例:

Example

英文不想看,就看这篇吧:

****MySQL 调优 | OPTIMIZER_TRACE详解****

王谷雨

一个苟且偷生的java程序员

文章评论