使用 EXPLAIN 可以分析 SQL 查询语句的执行计划,从而帮助我们优化查询性能。具体步骤如下:
- 执行 EXPLAIN + 查询语句,例如:
EXPLAIN SELECT * FROM table WHERE id = 1;
- 分析 Explain 的结果,可以看到以下信息:
- id:查询序号,表示查询中执行的顺序
- select_type:查询类型,有简单查询、联合查询等
- table:查询涉及的表名
- partitions:查询所涉及的分区
- type:访问类型,有 ALL、index、range 等
- possible_keys:可能用到的索引
- key:实际使用的索引
- key_len:索引字段长度
- ref:使用哪个列或常量与索引进行比较
- rows:扫描的行数
- filtered:过滤后剩余的百分比
- Extra:额外信息,例如是否使用了临时表、是否使用了文件排序等
- 根据分析结果,优化查询语句,例如:
- 添加索引
- 减少全表扫描
- 避免使用临时表
- 减少不必要的排序操作
- 再次执行 EXPLAIN + 查询语句,查看查询效率是否得到改善。




