MySQL的EXPLAIN的EXTRA

MySQL查询优化器执行查询的过程当中对查询计划的重要补充信息。算法

(1)using where

使用了where子句来过滤元组
缓存


(2)using temporary

用临时表保存中间结果,经常使用于GROUP BY 和 ORDER BY操做中oop

(3)using filesort

使用文件完成排序操做,这是多是ordery by,group by语句的结果,这多是一个CPU密集型的过程,能够经过选择合适的索引来改进性能,用索引来为查询结果排序。性能


(4)using index

不须要读取数据文件,从索引树(索引文件)中便可得到信息。若是同时出现using where,代表索引被用来执行索引键值的查找,没有using where,代表索引用来读取数据而非执行查找动做。优化


(5)using join buffer

使用了链接缓存:spa

Block Nested Loop,链接算法是块嵌套循环链接orm


Batched Key Access,链接算法是批量索引链接排序


(6)impossible where

where子句的值老是false,不能用来获取任何元组索引


(7)select tables optimized away

在没有GROUP BY子句的状况下,基于索引优化MIN/MAX操做,或者对于MyISAM存储引擎优化COUNT(*)操做,没必要等到执行阶段再进行计算,查询执行计划生成的阶段即完成优化。it


(8)distinct

优化distinct操做,在找到第一匹配的元组后即中止找一样值的动做

相关文章
相关标签/搜索