rmdir.cn

EXPLAIN

查看查询执行计划

语法

EXPLAIN [FORMAT=JSON] SELECT ...

说明

EXPLAIN 用于分析 SQL 语句的执行计划,显示查询优化器选择的表访问顺序、使用的索引、扫描行数等关键信息,是性能调优的必备工具。

参数

  • FORMAT=JSON

    以 JSON 格式输出更详细的执行信息

  • FORMAT=TREE

    以树形结构显示执行路径

  • ANALYZE

    实际执行查询并给出耗时统计(EXPLAIN ANALYZE)

示例

查看执行计划

分析 SQL 是否使用索引

EXPLAIN SELECT * FROM users WHERE email = 'user@example.com';

JSON 详细输出

获取更详细的执行计划信息

EXPLAIN FORMAT=JSON SELECT * FROM orders WHERE user_id = 1;

实际执行分析

执行查询并输出实际耗时(MySQL 8.0.18+)

EXPLAIN ANALYZE SELECT u.name, COUNT(*) FROM users u JOIN orders o ON u.id = o.user_id GROUP BY u.id;