type
type是查詢的訪問類型。是較為重要的一個指標,結果值從最好到最壞依次是:
system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL ,一般來說,得保證查詢至少達到range級別,最好能達到ref。
6.1 system
表只有一行記錄(等于系統(tǒng)表),這是const類型的特列,平時不會出現(xiàn),這個也可以忽略不計
6.2 const
表示通過索引一次就找到了,const用于比較primary key或者unique索引。因為只匹配一行數(shù)據(jù),所以很快
如將主鍵置于where列表中,MySQL就能將該查詢轉換為一個常量。
6.3 eq_ref
唯一性索引掃描,對于每個索引鍵,表中只有一條記錄與之匹配。常見于主鍵或唯一索引掃描。
6.4 ref
非唯一性索引掃描,返回匹配某個單獨值的所有行.本質上也是一種索引訪問,它返回所有匹配某個單獨值的行,然而,它可能會找到多個符合條件的行,所以他應該屬于查找和掃描的混合體。
沒用索引前:
建立索引后:
6.5 range
只檢索給定范圍的行,使用一個索引來選擇行。key 列顯示使用了哪個索引一般就是在你的where語句中出現(xiàn)了between、<、>、in等的查詢這種范圍掃描索引掃描比全表掃描要好,因為它只需要開始于索引的某一點,而結束語另一點,不用掃描全部索引。
6.6 index
出現(xiàn)index是sql使用了索引但是沒用通過索引進行過濾,一般是使用了覆蓋索引或者是利用索引進行了排序分組。
6.7 all
Full Table Scan,將遍歷全表以找到匹配的行。
6.8 index_merge
在查詢過程中需要多個索引組合使用,通常出現(xiàn)在有 or 的關鍵字的sql中。
6.9 ref_or_null
對于某個字段既需要關聯(lián)條件,也需要null值得情況下。查詢優(yōu)化器會選擇用ref_or_null連接查詢。
6.10 index_subquery
利用索引來關聯(lián)子查詢,不再全表掃描。
6.11 unique_subquery
該聯(lián)接類型類似于index_subquery。 子查詢中的唯一索引。
備注:一般來說,得保證查詢至少達到range級別,最好能達到ref。
相關: 如果想學大數(shù)據(jù),是自學還是大數(shù)據(jù)培訓好——Java培訓MySQL之key_len
本文鏈接:
本文章“Java培訓之type”已幫助 102 人
免責聲明:本信息由用戶發(fā)布,本站不承擔本信息引起的任何交易及知識產(chǎn)權侵權的法律責任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓機構》培訓課程》學習資訊》課程優(yōu)惠》課程開班》學校地址等機構信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細解答:
咨詢熱線:4008-569-579