oracle 性能优化操作九: 屏蔽无用索引
2015-01-06 09:02
387 查看
继续“oracle 性能优化操作八”的例子
由于实际查询中,还有涉及到DisposalCourseFlag=6的查询,而此时如果用上该字段上的索引,将是非常不明智的,效率也极低。
因此这种情况下,我们需要用特殊的方法屏蔽该索引,以便ORACLE选择其他字段上的索引。
比如,如果字段为数值型的就在表达式的字段名后,添加“+ 0”,为字符型的就并上空串:||""
如:
不过,不要把该用的索引屏蔽掉了,否则同样会产生低效率的全表扫描。
由于实际查询中,还有涉及到DisposalCourseFlag=6的查询,而此时如果用上该字段上的索引,将是非常不明智的,效率也极低。
因此这种情况下,我们需要用特殊的方法屏蔽该索引,以便ORACLE选择其他字段上的索引。
比如,如果字段为数值型的就在表达式的字段名后,添加“+ 0”,为字符型的就并上空串:||""
如:
select * from serviceinfo where DisposalCourseFlag+ 0 = 6 and workNo = '36' ;
不过,不要把该用的索引屏蔽掉了,否则同样会产生低效率的全表扫描。
相关文章推荐
- oracle 性能优化操作九: 屏蔽无用索引
- oracle 性能优化操作十五: 基于函数的索引要求等式匹配
- oracle 性能优化操作十七: 使用位图索引
- oracle 性能优化操作七:索引提高数据分布不均匀时查询效率
- oracle 性能优化操作八: 利用HINT强制指定索引
- oracle 性能优化操作十六: 使用分区索引
- oracle 性能优化操作十四: 使用基于函数的索引
- oracle 性能优化操作十四: 使用基于函数的索引
- oracle 性能优化操作七:索引提高数据分布不均匀时查询效率
- oracle 性能优化操作十七: 使用位图索引
- oracle 性能优化操作十八: 决定使用全表扫描还是使用索引
- oracle 性能优化操作十八: 决定使用全表扫描还是使用索引
- oracle 性能优化操作八: 利用HINT强制指定索引
- oracle 性能优化操作十: 分解复杂查询,用常量代替变量
- oracle 性能优化操作五:尽量去掉 "<>"
- oracle 性能优化操作三:增加查询的范围限制
- Oracle性能优化5-索引的不足
- Oracle 性能优化—批量操作
- Oracle性能优化4-索引
- oracle 性能优化操作十一: like子句尽量前端匹配