MySQL explain简介

explain各字段说明

id选择标识符(查询的顺序号

select_type:查询的类型

table:输出结果集的表

partitions:匹配的分区

type:访问类型(性能:ALL < index < range < ref < eq_ref < const < system < NULL)

possible_keys:可能使用的索引

key:实际使用的索引

key_len:索引中使用的字节数

ref:索引的哪一列被使用了

rows:扫描出的行数(估算的行数)

filtered:按表条件过滤的行百分比

Extra:执行情况的其他重要说明

 

其中type访问类型说明

ALL
    全表扫描。(例外:查询里使用了limit,或者在Extra列中显示"Using distinct/not exist")

index
    按索引次序全表扫描。(避免了排序但要承担按索引次序读取整个表的开销。如果在Extra列中显示"Using index",说明使用了覆盖索引,它只扫描索引的数据而不是按索引次序的每一行,开销比按索引次序全表扫描小。)

range
    使用索引检索给定范围的行。(通常出现在between、>等)

ref
    索引查找。(通常出现在使用非唯一索引或者唯一索引的非唯一性前缀)

qe_ref
    索引查找唯一值。(通常出现在使用主键或唯一索引)

const、system
    转换为常量访问。(例如:通过将某一行的主键放入where子句的方式来选取此行的主键)

NULL
    不用访问表或索引。(例如:从一个索引列里选取最小值可以通过单独查找索引来完成,不需执行时访问表)

猜你喜欢

转载自blog.csdn.net/Anenan/article/details/114525818
今日推荐