我們假設我們有建立一個 table, 裡面有三個欄位,分別為 a, b, c, 同時也針對這三個欄位建立 index idx_abc,這種建法背後其實是同時建立三個 index, 類似 idx_a, idx_ab, idx_abc , 這是時候我們分別用下面條件來查詢,那些會觸發 index?
因為我們的 index 建立順序是 abc 一起的複合 index, 所以要觸發這個 index, 裡面必須要 a 這個欄位,因為需要 index 的第一個欄位,因為 mysql 的 sql parse 有針對查詢做最佳化,當你的 where 條件第一個開始的不是 a 但後面有用到 a, 這樣也是會用到