MySQL EXPLAIN

MySQL EXPLAIN

使用 EXPLAIN 可以查看 MySQL 执行 SELECT 语句时的详细计划,是 SQL 优化的重要工具。

关键字段说明

  • id:SELECT 查询的序号,相同则顺序执行
  • select_type:查询类型(SIMPLE/PRIMARY/SUBQUERY/UNION)
  • type:访问类型(system > const > eq_ref > ref > range > index > ALL),尽量避免 ALL
  • key:实际使用的索引
  • rows:预计扫描的行数,越少越好
  • Extra:Using filesort/Using temporary 等警告信息

优化方向

  • 避免 type=ALL(全表扫描)
  • 关注 Using filesort(文件排序)和 Using temporary
  • 确保 JOIN 列有索引
  • 用覆盖索引避免回表