MySQL複合索引

sellingpear發表於2024-06-29

2024.6.29

1.首先,需要明確的是:最左字首原則是發生在複合索引上的,只有複合索引才會有所謂的左和右之分

2.在MySQL建立聯合索引時會遵守最左字首匹配原則,即最左優先,在檢索資料時從聯合索引的最左邊開始匹配

mysql 建立多列索引(聯合索引)有最左字首的原則,即最左優先,如:

  • 如果有一個 2 列的索引 (col1, col2),則已經對 (col1)、(col1, col2) 上建立了索引;
  • 如果有一個 3 列索引 (col1, col2, col3),則已經對 (col1)、(col1, col2)、(col1, col2, col3) 上建立了索引;

當 select * from T where a = 1 and b = 3 的時候, 資料庫系統可以直接從索引檔案中直接二分法找到 A = 1 的記錄,然後再 B = 3 的記錄

但如果你 where b = 3 則需要遍歷這個索引表的全部

引自 https://blog.csdn.net/zhizhengguan/article/details/120855011

相關文章