MySQL-explain

leard 发布于 2025-05-30 2 次阅读


explain主要用来进行sql分析

主要属性如下:

  • select_type:查询类型。simple(简单查询)、primary(主查询)、subquery(子查询)等
  • type:访问类型。性能从高到低:const>eq_ref>ref>range>index>all
    • system:表示查询的表只有一行。不常见。
    • const:表示查询的表最多只有一行匹配结果。通常发生在查询条件是主键或者唯一索引。
    • eq_ref:表示对于每个来自前一张表的行,MySQL仅访问一次这个表。
    • ref:使用非唯一索引扫描查询。
    • range:范围扫描。扫描表的一部分。
    • index:扫描索引中的所有行。
    • all:全表扫描。
  • key:实际用到的索引
  • rows:估计要扫描的行数
  • extra:额外信息。using index(使用覆盖索引)、using where(使用where条件进行过滤)、using temporary(使用临时表)、using file sort(额外的排序步骤)