1. 使用不等於操作符(<> !=)
2. NULL值。where字句中出現is null或is not null時,索引就不被使用。
a) 使用函數(索引不是基於函數的索引)
3. 比較不同的數據類型state 爲number ,to_char(state) =’2’,這種情況最隱蔽
4. 當索引條件字段選擇性低
5. 同一個表中的兩列(有索引)進行比較時,索引有時不被使用。
6. 當where字句中存在not function時,比如not in、not exists、column<>value等情況下,索引不能被使用。
7. 當使用通配符%或者_作爲查詢字符串中的第一個字符時,索引不被使用。