记录一下字段的内容
select_type :
SIMPLE : 未使用UNION或子查询;
PRIMARY:在嵌套的查询中是最外层的SELECT语句,在UNION查询中是最前面的SELECT语句。
UNION: UNION中第二个以及后面的SELECT语句。
UNION RESULT: UNION 的结果。
DEPENDENT UNION:满足UNION的条件,及UNION中第二个以及后面的SELECT语句,同时该语句依赖外部的查询。
SUBQUERY:子查询中第一个SELECT语句。
DEPENDENT SUBQUERY:在子查询中,依赖于外部查询。
DERIVED: 派生表SELECT语句中FROM子句中的SELECT语句。
type:
all 全表扫描
index 索引树扫描
range 常数值的范围
ref 如果每次只匹配少数行,那就是比较好的一种,使用=或<=>,可以是左覆盖索引或非主键或非唯一键
ref_eq 每次与之前的表合并行都只在该表读取一行,是使用=,而且索引的所有部分都参与join且索引是主键或非空唯一键的索引
const 常量连接,表中最多只有一行匹配,通用用于主键或者唯一索引比较时
extra: Using where Using index Using index condition Using filesort Using temporary Using join buffer (Block Nested Loop)