最详细Explain名词解释

id:select查询的序列号,表示查询中执行select子句或操作表的顺序。id相同,由上而下执行;id不同,如果是子查询,id序号会递增,id值越大优先级越高,越先执行。

select_type:SIMPLE(普通)、 PRIMARY(主)、SUBQUERY(子)、DERIVED(临时表)、UNION(第二个select出现在union后则被标记为union)、UNION RESULT。

table:<derived2>2是id,表示id为2的查询临时表,即查询结果表的别名。

type:从最好到最差依次是system(单表单行)>const(通过索引,只匹配一行记录)>eq_ref(唯一性索引扫描,对每个索引建表中只有一条记录与之匹配)>ref(非唯一性索引扫描,也是一种索引访问,返回所有匹配某个单独值的行)>range(只检索给定范围的行,使用一个索引来选择行)>index(全索引扫描)>ALL.

possible_keys:显示可能应用到的索引。

key:实际使用的索引。覆盖索引也就是查询的列正好是索引列。

key_len:索引中使用的字节数。

ref:显示索引的哪一列被使用。如索引(col1,col2),查询条件col1='a' and col2=tableb.col,ref显示为const,库名.tableb.col。

rows:被查询的行数。

extra:using filesort(orderby跳过顺序索引列),using temporary(group by要跟索引个数顺序一致),using index(使用覆盖索引,性能好)。



注意:范围以后的索引会失效,如索引(a,b),语句a>1 order by b,b的索引会失效,产生文件内排序

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容