id列
id列的编号是select的序列号,有几个select就有几个id,并且id的顺序是按select出现的顺序增长。<br><font color="#e74f4c">id列的值越大执行优先级越高,值一样,从上往下执行,为null的最后执行</font><br>
select_type列<br>
表示对应的行是简单还是复杂的查询<br>
simple<br>
简单查询,查询不包含子查询和union<br>
primary<br>
复杂查询中最外层的select<br>
subquery
包含在select中的子查询,不包含from子查询<br>
derived<br>
包含在from子句中的子查询,mysql会将结果放在一个临时表中,也称为派生表<br>
union
在union中第二个和随后的select
table列
表示explain的一行正在访问哪个表,如果是derived n表示依赖select值为n的子查询的临时表<br>
type列
这一列表示关联类型或访问类型,从优到差为:<br>system>const>eq_ref>ref>range>index>ALL<br>
extra列
using index:使用覆盖索引<br>
use where:使用where语句来处理结果并且查询的列未被索引覆盖。<br>
use index condition:查询的列不完全被索引覆盖,where条件中是一个前导列的范围。<br>
use tempoary:需要建立一个临时表来处理查询<br>
use filesort:将用外部排序而不是内部排序。<br>