oracle 一条查询语句的两个范围条件都有索引,用哪个?
select*fromtabletwhere(t.abetweenxxandxx)and(t.bbetweenxxandxx)我目前知道的,按规则的话,是unique的索...
select * from table t where (t.a between xx and xx) and (t.b between xx and xx)
我目前知道的,按规则的话,是unique的索引会比一般索引优先。还有其他情况,谁知道的,麻烦列举一下 展开
我目前知道的,按规则的话,是unique的索引会比一般索引优先。还有其他情况,谁知道的,麻烦列举一下 展开
3个回答
展开全部
Unique Index和一般normal Index没有显著性的差异,只是Unique Index多了唯一性的约束。
会限制索引使用的情况:
使用不等于操作符(<>、!=)
使用IS NULL 或IS NOT NULL
使用函数
会限制索引使用的情况:
使用不等于操作符(<>、!=)
使用IS NULL 或IS NOT NULL
使用函数
追问
我想知道的是 (t.a between xx and xx) and (t.b between xx and xx) 这俩索引会执行哪个由哪些因素决定
追答
单独列的索引,where条件中出现就会使用
复合索引的话,where条件需要复合字段都出现才会使用
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询