示例
示例
EXPLAIN SELECT o.id, o.total
FROM orders o
WHERE o.user_id = 100
ORDER BY o.created_at DESC
LIMIT 10;
-- EXPLAIN 也可用于 UPDATE / DELETE(只分析、不执行)
EXPLAIN UPDATE orders SET status = 'done' WHERE id = 1;
EXPLAIN DELETE FROM orders WHERE created_at < '2023-01-01';| 返回内容 | 每张表一行:type/key/key_len/rows/Extra 等 |
|---|---|
| 不执行 | 普通 EXPLAIN 只做估算;EXPLAIN ANALYZE 才真正执行 |
| 对比技巧 | 同一语句保留/去掉 WHERE 各 EXPLAIN 一次,观察访问方式变化 |
排查顺序:先 EXPLAIN 看访问方式,再决定加索引、改 SQL 还是更新统计信息。