Oracle like 、in、 ><=等sql 优化问题

Oracle like '%...%' 优化

1.尽量不要使用 like '%%'

2.对于 like '%' (不以 % 开头),Oracle可以应用 colunm上的index

3.对于 like '%…' 的 (不以 % 结尾),可以利用reverse + function index 的形式,变化成 like '%'

4.非用like'%%'不可时,使用Oracle内部函数:INSTR()解决。

 

select   id, name from users where instr(id, '101') > 0;  

         等价于

select   id, name from users where id like '%101%'


 

5.尽量不要使用in 而使用关联方式:left jion on

 

6.使用 between and 代替使用 >= <= 尤其是在日期中比较 效果会高很多 

 

猜你喜欢

转载自liangyuxiang.iteye.com/blog/2084320