mysql explain 的type解釋

鏈接操做的類型算法

(1)SYSTEM對象

CONST的特例,當表上只有一條元組匹配索引

 

(2)CONST搜索

WHERE條件篩選後表上至多有一條元組匹配時,好比WHERE ID = 2 (ID是主鍵,值爲2的要麼有一條要麼沒有)循環

 

(3)EQ_REF遍歷

參與鏈接運算的表是內表(在代碼實現的算法中,兩錶鏈接時做爲循環中的內循環遍歷的對象,這樣的表稱爲內表)。數據

基於索引(鏈接字段上存在惟一索引或者主鍵索引,且操做符必須是「=」謂詞,索引值不能爲NULL)作掃描,使得對外表的一條元組,內表只有惟一一條元組與之對應。查詢

 

(4)REF集合

能夠用於單表掃描或者鏈接。參與鏈接運算的表,是內表。文件

基於索引(鏈接字段上的索引是非惟一索引,操做符必須是「=」謂詞,鏈接字段值不可爲NULL)作掃描,使得對外表的一條元組,內表可有若干條元組與之對應。

 

(5)REF_OR_NULL

相似REF,只是搜索條件包括:鏈接字段的值能夠爲NULL的狀況,好比 where col = 2 or col is null

 

(6)RANGE

範圍掃描,基於索引作範圍掃描,爲諸如BETWEEN,IN,>=,LIKE類操做提供支持

 

(7)INDEX_SCAN

索引作掃描,是基於索引在索引的葉子節點上找知足條件的數據(不須要訪問數據文件)

(8)ALL

全表掃描或者範圍掃描:不使用索引,順序掃描,直接讀取表上的數據(訪問數據文件)

 

(9)UNIQUE_SUBQUERY

在子查詢中,基於惟一索引進行掃描,相似於EQ_REF

 

(10)INDEX_SUBQUERY

在子查詢中,基於除惟一索引以外的索引進行掃描

 

(11)INDEX_MERGE

多重範圍掃描。兩錶鏈接的每一個表的鏈接字段上均有索引存在且索引有序,結果合併在一塊兒。適用於做集合的並、交操做。

(12)FT

FULL TEXT,全文檢索

相關文章
相關標籤/搜索