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操做,在找到第一匹配的元組後即中止找一樣值的動做