MySQL的聯合索引

杰Sir"1_v"發表於2024-06-13

這裡我先建立一張叫tb_user的表資料有

建立一個聯合索引

1.符合 index(a,b,c)的查詢條件

他的查詢範圍是ref使用了索引

2.符合 index(a,b)的查詢條件

他的查詢範圍是ref使用了索引

3.符合 index(a)的查詢條件

他的查詢範圍是ref使用了索引

4.符合 index(b,c)的查詢條件

他的查詢範圍是all,走的是全表

5.符合 index(b)的查詢條件;符合 index(c)的查詢條件

這兩個型別是all,走的是全表掃描

6.符合 index(a,c)的查詢條件

他的查詢範圍是ref使用了索引

7.符合 index(b,a,c)的查詢條件,符合 index(b)的查詢條件

他的查詢範圍是ref使用了索引

總結:當我們給一張表建立了聯合索引時,在條件查詢的時候包含了最左列,它的查詢型別是走索引的,但是你不包含最左列欄位,它全部是全表掃描

相關文章