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. 当使用通配符%或者_作为查询字符串中的第一个字符时,索引不被使用。