組合索引:最左優先原則
如:組合索引(col_a,col_b,col_c)
使用到索引的情況如下:
col_a = "some value"
col_a = "some value" and col_b = "some value"
col_a = "some value" and col_c = "some value"
col_a = "some value" and col_b = "some value" and col_c = "some value"
col_a = "some value" and col_c = "some value" and col_b = "some value"
col_b = "some value" and col_a = "some value" and col_c = "some value"
col_b = "some value" and col_c = "some value" and col_a = "some value"
col_c = "some value" and col_a = "some value" and col_b = "some value"
col_c = "some value" and col_b = "some value" and col_a = "some value"
未使用索引的情況
col_b = "some value"
col_c = "some value"
col_b = "some value" and col_c = "some value"
col_c = "some value" and col_b = "some value"
總結,組合索引從最左開始組合,只要包含第一列的查詢都會用到該組合索引
為什么組合索引遵循最左優先原則?
索引方法是Btree,樹狀的,搜索時需要從根節點出發,上層節點對應靠左的值,所以有最左優先原則。