MySQL查询优化器执行查询的过程当中对查询计划的重要补充信息。算法
使用了where子句来过滤元组
缓存
用临时表保存中间结果,经常使用于GROUP BY 和 ORDER BY操做中oop
使用文件完成排序操做,这是多是ordery by,group by语句的结果,这多是一个CPU密集型的过程,能够经过选择合适的索引来改进性能,用索引来为查询结果排序。性能
不须要读取数据文件,从索引树(索引文件)中便可得到信息。若是同时出现using where,代表索引被用来执行索引键值的查找,没有using where,代表索引用来读取数据而非执行查找动做。优化
使用了链接缓存:spa
Block Nested Loop,链接算法是块嵌套循环链接orm
Batched Key Access,链接算法是批量索引链接排序
where子句的值老是false,不能用来获取任何元组索引
在没有GROUP BY子句的状况下,基于索引优化MIN/MAX操做,或者对于MyISAM存储引擎优化COUNT(*)操做,没必要等到执行阶段再进行计算,查询执行计划生成的阶段即完成优化。it
优化distinct操做,在找到第一匹配的元组后即中止找一样值的动做