派生表,除第一个表外,第二个以后的表select_type都是union
union result: 包含union的结果集,在union和union all语句中,因此它不需要参与查询,所有id字段为...null
dependent union: 与union一样,出现在union或union all语句中,但是这个查询要受到外部查询的影响,比如where in
subquery: 除了from字句中包含的子查询外...N就是执行计划中的id,表示结果来自于这个查询产生.如果是尖括号括起来的union M,N>,与类似,也是一个临时表,表示这个结果来自于union查询的id为M,N结果集
//...: 索引全表扫描,把索引从头到尾扫一遍,常见于使用索引列就可以处理不需要读取数据文件的查询、可以使用索引排序或者分组的查询,换句话说,所有的数据就在索引里,不需要回表
all: 这个就是全表扫描数据文件...另外,key_len只计算where条件用到的长度,而排序和分组就算用到了索引,也不会计算到key_len中
// ref
如果是使用的常数等值查询,这里会显示const,如果是连接查询,被驱动表的执行计划这里会显示驱动表的关联字段