首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

SQL目录查询条件

2012-12-14 
SQL索引查询条件Oracle 9i,table表:A+B字段有复合索引,使用SQL:select * from table where aa and bb

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
直接就可以看到是否用到。
[其他解释]
复合索引有个优先级的问题,只有在用到第一个列时,索引才会有用
[其他解释]
应该也可以用到索引的。
你看到执行计划里面没有用到索引吗?
[其他解释]
那种情况其实也是用了第一列了吧?
[其他解释]
说的不准确,如果是select * from table where (a='a' or a=' ') and b='b';则可能不用索引,因为有空值。

如果是select * from table where (a='a' or a='*') and b='b';,应该可以用到索引了?


引用:
应该也可以用到索引的。
你看到执行计划里面没有用到索引吗?

热点排行