首页/数据/数据库速查/EXPLAIN ANALYZE 实测执行
性能与调优57 条

EXPLAIN ANALYZE 实测执行

8.0.18+ 的 EXPLAIN ANALYZE 真正执行查询并回传每步实际行数与耗时(TREE 格式):估算与实测的差距一眼可见,会写库的语句慎用。

数据库速查数据更新于 2026-10-12

用法与解读

用法与解读
EXPLAIN ANALYZE
SELECT o.id, o.amount FROM appdb.orders o
WHERE o.user_id = 12345 ORDER BY o.created_at DESC LIMIT 20;
-- 输出含 actual time=... rows=... loops=...
-- 对比估算 rows 与 actual rows 的偏差
代价语句真被执行(含写操作风险)
重点loops 次数 × actual rows = 真实处理量
场景估算失准/计划可疑时使用
对 DELETE/UPDATE 用 EXPLAIN ANALYZE 会真实修改数据,用前先套事务或改写成 SELECT。

易错点

  • 拿它测产线大查询:全量执行把生产拖慢,选低峰或用影子环境
  • 只看总时长不看 loops:循环一千次的小步骤才是放大来源

数据来源与参考

  • MySQL 8.0 Reference Manual: EXPLAIN ANALYZE

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌