亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Mysql中的組合索引

發布時間:2020-08-04 14:02:30 來源:億速云 閱讀:260 作者:小豬 欄目:開發技術

這篇文章主要講解了如何使用Mysql中的組合索引,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

對于任何DBMS,索引都是進行優化的最主要的因素。對于少量的數據,沒有合適的索引影響不是很大,但是,當隨著數據量的增加,性能會急劇下降。 

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

假設存在組合索引(c1,c2),查詢語句select * from t1 where c1=1 and c2=2能夠使用該索引。查詢語句select * from t1 where c1=1也能夠使用該索引。但是,查詢語句select * from t1 where c2=2不能夠使用該索引,因為沒有組合索引的引導列,即,要想使用c2列進行查找,必需出現c1等于某值。

舉例說明: 
創建兩張表book(圖書表)和bookclass(圖書分類表)

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

如何使用Mysql中的組合索引 

執行時間為:0.053s

使用explain來分析一下該SQL: 

如何使用Mysql中的組合索引 

type = ALL Extra=Using where,全表查詢沒有使用索引。

explain顯示了mysql如何使用索引來處理select語句以及連接表。可以幫助選擇更好的索引和寫出更優化的查詢語句。

ALL 對于每個來自于先前的表的行組合,進行完整的表掃描。如果表是第一個沒標記const的表,這通常不好,并且通常在它情況下很差。通常可以增加更多的索引而不要使用ALL,使得行能基于前面的表中的常數值或列值被檢索出。

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

再次執行SQL,發現時間縮短到0.009s 

如何使用Mysql中的組合索引 

使用explain來分析一下該SQL: 

如何使用Mysql中的組合索引 

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

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

看完上述內容,是不是對如何使用Mysql中的組合索引有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

河北省| 鸡泽县| 正定县| 方正县| 微山县| 德惠市| 平顺县| 浪卡子县| 屏东县| 华阴市| 禹州市| 教育| 阜南县| 清涧县| 调兵山市| 隆德县| 姜堰市| 茶陵县| 民乐县| 乌鲁木齐县| 盘山县| 仙居县| 临海市| 马鞍山市| 平阴县| 莱阳市| 托克托县| 页游| 竹溪县| 汤原县| 湾仔区| 驻马店市| 光山县| 怀来县| 都江堰市| 乐昌市| 邯郸市| 崇州市| 乌拉特后旗| 疏勒县| 陈巴尔虎旗|