不走索引的情況通常有以下幾種:
條件欄位選擇性弱,查出的結果集較大,不走索引。
查詢謂詞沒有使用索引的主要邊界,例如使用*代替具體的欄位名。
索引列上存在空值(NULL),導致某些查詢無法使用索引,如COUNT(*)查詢。
索引列上有函式運算或類型不匹配,導致不走索引。
使用了隱式類型轉換。
表數據量小或大部分數據被選擇,索引使用效率不高。
使用了OR條件,特別是當OR連線的不是同一個欄位時。
進行了左模糊查詢(%放在左邊),而不是右模糊查詢。
條件欄位為函式的操作導致不走索引。
錯誤計算導致不走索引。
IN關鍵字後跟的元素過多。
不符合最左前綴原則的聯合索引使用。