当前位置: 代码迷 >> SQL >> Oracle like 、in、 ><=等sql 优化有关问题
  详细解决方案

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

热度:23   发布时间:2016-05-05 11:19:54.0
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?代替使用?>= <= 尤其是在日期中比较 效果会高很多?

?

  相关解决方案