id: 查询的序列序号,从大到小执行,id相同按照顺序执行。小表驱动大表,尽量小表先查询
select type : 查询类型
SIMPLE:单表查询
PRIMARY:主查询
SUBQUEERY:子查询
DERIVEDL:派生的,最终查询前会用到的临时结果
UNION:union查询
UNION RESULT:结果合并
type: 连接类型,针对单表调度访问方法,查询效率按以下顺序由高到低
system:特殊的const类型,Myisam存储引擎的单表查询
const:主键索引或者唯一索引,只能查到一条数据
eq_ref:被驱动表的访问方式
ref:非唯一性索引,或者关联查询里面用到最左前缀
range:索引范围查询或in查询
index:full index scan,全索引扫描
all:全表扫描,full table scan
possible_keys: 可能用到的key(索引)
**key:**实际用到的key(索引)
ken_len: 使用的索引长度,长度越长,覆盖范围越大
例:utf8mb4编码的索引字段varchar(255) 每个字符占4个字节,即255 * 4 = 1020,
varchar需要两个可变长度和允许为null,额外有3个字节,所以是1020+3 =
ref: 筛选数据调度参考,当使用索引列等值查询时,与索引列进行等值匹配的对象信息
rows: 预计扫描行数
filtered: 返回行数占所有数据的百分比
Extra: 额外的信息
using index:覆盖索引
using where:在server层进行过滤
using index Condition:默认开启,索引下推icp
using filesort:不能直接用索引排序,需要额外的排序
using temporary:使用临时表