Fork me on GitHub

4.7 explain 之 Extra

一、说明

包含不合适在其他列中显示,但十分重要的信息。

二、分类

a.

Using filesort : 说明mysql 会对数据使用一个外部的索引排序,而不是按照表内的索引顺序排序进行读取的。mysql中无法利用索引完成的排序操作车称为 “ 文件排序 ”。

b.

Using temporary : 使用了临时表保存中间结果,mysql 在对查询结果排序的时候使用了临时表。常见于order by 和分组查询 group by。

c.

Using index : 表示相应的select操作中使用了覆盖索引 ( Covering Index ),  避免访问了表的数据行,效率不错!
              如果同时出现using where,表明索引被用来执行执行索引值的查找;
              如果没有同时出现using where ,表明索引用来读取数据而非执行查找动作。

d.

Using where : 表名使用了where 过滤。

e.

Using join buffer : 使用了连接缓存。

f.

impossible where : where 子句的值总是false,不能用来获取任何元素组。

g.

在没有group by 子句的情况下,基于索引优化MIN/MAX操作者或者对于MySAM存储引擎优化count(*) 操作,不必等到执行阶段再进行计算,查询执行计划生成的阶段即完成优化。

f.

distinct : 优化distinct操作,在找到第一匹配的元素后即停止同样的动作。

 

关注我的公众号,精彩内容不能错过

 

 

posted @ 2017-08-23 15:47  程序员果果  阅读(173)  评论(0编辑  收藏  举报