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

相關文章
相關標籤/搜索