日期:2014-05-17  浏览次数:20721 次

SQL索引查询条件
Oracle 9i,table表:A+B字段有复合索引,
使用SQL:
select * from table where a='a' and b='b';可以用到该索引

使用SQL:
select * from table where (a='a' or a=' ') and b='b';,即带有OR条件的,用到该索引与上面SQL在执行计划上没什么不同?谢谢!
------解决方案--------------------
复合索引有个优先级的问题,只有在用到第一个列时,索引才会有用
------解决方案--------------------
应该也可以用到索引的。
你看到执行计划里面没有用到索引吗?
------解决方案--------------------
你这话问的,首先,复合索引有个前置性原则。其次,有没有用到,直接在plsql中按f5
直接就可以看到是否用到。