您好,歡迎來(lái)到賦能網(wǎng)!

Java培訓(xùn)之type

賦能網(wǎng) 2023-06-13 102

type

type是查詢的訪問(wèn)類型。是較為重要的一個(gè)指標(biāo),結(jié)果值從最好到最壞依次是:

system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL ,一般來(lái)說(shuō),得保證查詢至少達(dá)到range級(jí)別,最好能達(dá)到ref。

6.1 system

表只有一行記錄(等于系統(tǒng)表),這是const類型的特列,平時(shí)不會(huì)出現(xiàn),這個(gè)也可以忽略不計(jì)

6.2 const

Java培訓(xùn)之type

表示通過(guò)索引一次就找到了,const用于比較primary key或者unique索引。因?yàn)橹黄ヅ湟恍袛?shù)據(jù),所以很快

如將主鍵置于where列表中,MySQL就能將該查詢轉(zhuǎn)換為一個(gè)常量。

6.3 eq_ref

唯一性索引掃描,對(duì)于每個(gè)索引鍵,表中只有一條記錄與之匹配。常見于主鍵或唯一索引掃描。

6.4 ref

非唯一性索引掃描,返回匹配某個(gè)單獨(dú)值的所有行.本質(zhì)上也是一種索引訪問(wèn),它返回所有匹配某個(gè)單獨(dú)值的行,然而,它可能會(huì)找到多個(gè)符合條件的行,所以他應(yīng)該屬于查找和掃描的混合體。

沒(méi)用索引前:

建立索引后:

Java培訓(xùn)之type

6.5 range

只檢索給定范圍的行,使用一個(gè)索引來(lái)選擇行。key 列顯示使用了哪個(gè)索引一般就是在你的where語(yǔ)句中出現(xiàn)了between、<、>、in等的查詢這種范圍掃描索引掃描比全表掃描要好,因?yàn)樗恍枰_始于索引的某一點(diǎn),而結(jié)束語(yǔ)另一點(diǎn),不用掃描全部索引。

6.6 index

    出現(xiàn)index是sql使用了索引但是沒(méi)用通過(guò)索引進(jìn)行過(guò)濾,一般是使用了覆蓋索引或者是利用索引進(jìn)行了排序分組。

6.7 all

    Full Table Scan,將遍歷全表以找到匹配的行。

Java培訓(xùn)之type

6.8 index_merge

在查詢過(guò)程中需要多個(gè)索引組合使用,通常出現(xiàn)在有 or 的關(guān)鍵字的sql中。

6.9 ref_or_null

對(duì)于某個(gè)字段既需要關(guān)聯(lián)條件,也需要null值得情況下。查詢優(yōu)化器會(huì)選擇用ref_or_null連接查詢。

6.10 index_subquery

         利用索引來(lái)關(guān)聯(lián)子查詢,不再全表掃描。

6.11 unique_subquery

該聯(lián)接類型類似于index_subquery。 子查詢中的唯一索引。

備注:一般來(lái)說(shuō),得保證查詢至少達(dá)到range級(jí)別,最好能達(dá)到ref。


相關(guān): 如果想學(xué)大數(shù)據(jù),是自學(xué)還是大數(shù)據(jù)培訓(xùn)好——Java培訓(xùn)MySQL之key_len

本文鏈接:

本文章“Java培訓(xùn)之type”已幫助 102 人

免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: