1、在mysql建立聯合索引時會遵循最左前綴匹配的原則,即最左優先,在檢索數據時從聯合索引的最左邊開始匹配,示例:
對列col1、列col2和列col3建一個聯合索引
KEY index_col1_col2_col3 on test(col1,col2,col3);
聯合索引 index_col1_col2_col3 實際建立了(col1)、(col1,col2)、(col,col2,col3)三個索引。
SELECT * FROM table WHERE col1="1" AND clo2="2" AND clo4="4"
上面這個查詢語句執行時會依照最左前綴匹配原則,檢索時會使用索引(col1,col2)進行數據匹配。索引的字段可以是任意順序的。
2、使用聯合索引的好處
- 減少開銷。每多一個索引,都會增加寫操作的開銷和磁盤空間的開銷。對於大量數據的表,使用聯合索引會大大的減少開銷!
- 效率高。索引列越多,通過索引篩選出的數據越少。
