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的索引会失效,产生文件内排序
最详细Explain名词解释
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 对于单列索引,没有太多的话题,但是对于多列索引的建立,一个好的多列索引能使用的场景应可以涵盖很多,减少其他不必要的...
- 在工作中,经常会碰到一些慢查询,Explain可以帮我们更详细的了解MySQL查询的执行计划,用法也很简单...