欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql之組合索引方法詳解

 更新時(shí)間:2020年08月04日 11:18:57   作者:尼古拉斯--趙四  
這篇文章主要介紹了Mysql之組合索引方法詳解,文中通過(guò)示例代碼和查詢結(jié)果展示介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

對(duì)于任何DBMS,索引都是進(jìn)行優(yōu)化的最主要的因素。對(duì)于少量的數(shù)據(jù),沒(méi)有合適的索引影響不是很大,但是,當(dāng)隨著數(shù)據(jù)量的增加,性能會(huì)急劇下降。 

如果對(duì)多列進(jìn)行索引(組合索引),列的順序非常重要,MySQL僅能對(duì)索引最左邊的前綴進(jìn)行有效的查找。例如: 

假設(shè)存在組合索引(c1,c2),查詢語(yǔ)句select * from t1 where c1=1 and c2=2能夠使用該索引。查詢語(yǔ)句select * from t1 where c1=1也能夠使用該索引。但是,查詢語(yǔ)句select * from t1 where c2=2不能夠使用該索引,因?yàn)闆](méi)有組合索引的引導(dǎo)列,即,要想使用c2列進(jìn)行查找,必需出現(xiàn)c1等于某值。

舉例說(shuō)明: 
創(chuàng)建兩張表book(圖書(shū)表)和bookclass(圖書(shū)分類(lèi)表)

select b.ISBN FROM book b where b.CATEGORY_ID = 1; 

這里寫(xiě)圖片描述 

執(zhí)行時(shí)間為:0.053s

使用explain來(lái)分析一下該SQL: 

這里寫(xiě)圖片描述 

type = ALL Extra=Using where,全表查詢沒(méi)有使用索引。

explain顯示了mysql如何使用索引來(lái)處理select語(yǔ)句以及連接表??梢詭椭x擇更好的索引和寫(xiě)出更優(yōu)化的查詢語(yǔ)句。

ALL 對(duì)于每個(gè)來(lái)自于先前的表的行組合,進(jìn)行完整的表掃描。如果表是第一個(gè)沒(méi)標(biāo)記const的表,這通常不好,并且通常在它情況下很差。通常可以增加更多的索引而不要使用ALL,使得行能基于前面的表中的常數(shù)值或列值被檢索出。

創(chuàng)建組合索引: 
create index index_isbn on book (CATEGORY_ID,ISBN) ;

再次執(zhí)行SQL,發(fā)現(xiàn)時(shí)間縮短到0.009s 

這里寫(xiě)圖片描述 

使用explain來(lái)分析一下該SQL: 

這里寫(xiě)圖片描述 

type = ref,Extra = Using index 使用了索引查詢。

ref 對(duì)于每個(gè)來(lái)自于前面的表的行組合,所有有匹配索引值的行將從這張表中讀取。如果聯(lián)接只使用鍵的最左邊的前綴,或如果鍵不是UNIQUE或PRIMARY KEY(換句話說(shuō),如果聯(lián)接不能基于關(guān)鍵字選擇單個(gè)行的話),則使用ref。如果使用的鍵僅僅匹配少量行,該聯(lián)接類(lèi)型是不錯(cuò)的。

到此這篇關(guān)于Mysql之組合索引方法詳解的文章就介紹到這了,更多相關(guān)Mysql之組合索引內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 適合新手的mysql日期類(lèi)型轉(zhuǎn)換實(shí)例教程

    適合新手的mysql日期類(lèi)型轉(zhuǎn)換實(shí)例教程

    Mysql作為一款開(kāi)元的免費(fèi)關(guān)系型數(shù)據(jù)庫(kù),用戶基礎(chǔ)非常龐大,下面這篇文章主要給大家介紹了關(guān)于mysql日期類(lèi)型轉(zhuǎn)換的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Mysql主從數(shù)據(jù)庫(kù)(Master/Slave)同步配置與常見(jiàn)錯(cuò)誤

    Mysql主從數(shù)據(jù)庫(kù)(Master/Slave)同步配置與常見(jiàn)錯(cuò)誤

    今天小編就為大家分享一篇關(guān)于Mysql主從數(shù)據(jù)庫(kù)(Master/Slave)同步配置與常見(jiàn)錯(cuò)誤,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • 最新評(píng)論