mysql 組合索引

2022-09-05 20:03:11 字數 643 閱讀 5885

使用好組合索引能大大提高查詢的效率

key(a1,a2,a3)

組合索引可以理解為從左到右依次命中,按順序,查詢命中的越多,效率越高;

a1,a2,a3的順序很關鍵,能更好的區分資料的字段放在前面。

如果查詢中沒有使用欄位a2或者查詢是!=a2,則a2索引不能被使用,a3索引也隨之不能被使用。

例如有如下組合索引

key(nh_id,coin,date)

第乙個查詢有nh_id和date,但是只命中了nh_id這個索引,掃瞄行數48萬行,大概需要0.5秒以上。

第二個查詢加了coin查詢,命中key(nh_id,coin,date)三個索引,只掃瞄了7萬行資料

所以說建索引的時候,要考慮都會用的哪些查詢,有些查詢經常放到一起使用的時候,考慮組合索引;

對了,如果在第乙個查詢中,分別給nh_id和date建立單獨的索引,然後用nh_id和date去查詢,依然要掃瞄48萬行資料,只是用了nh_id索引,而並未使用date索引,不知為何。

mysql的組合索引 mysql 組合索引

mysql單列索引是我們使用mysql資料庫中經常會見到的,mysql單列索引和組合索引的區別可能有很多人還不是十分的了解,下面就為您分析兩者的主要區別,供您參考學習。為了形象地對比兩者,再建乙個表 create table myindex i testid int not null auto in...

mysql組合索引 Mysql之組合索引方法詳解

對於任何dbms,索引都是進行優化的最主要的因素。對於少量的資料,沒有合適的索引影響不是很大,但是,當隨著資料量的增加,效能會急劇下降。如果對多列進行索引 組合索引 列的順序非常重要,mysql僅能對索引最左邊的字首進行有效的查詢。例如 假設存在組合索引 c1,c2 查詢語句select from ...

mysql聚合索引 組合索引

索引 排好序的快速查詢資料結構。在資料之外,資料庫系統還維護著滿足特定查詢演算法的資料結構,這些資料結構以某種方式引用 指向 資料,這樣就可以在這些資料結構上實現高階查詢演算法。這種資料結構,就是索引。下圖就是一種可能的索引方式示例 資料本身之外,資料庫還維護著乙個滿足特定查詢演算法的資料結構,這些...