日期:2014-05-16  浏览次数:20385 次

Oracle 语句优化

1 尽量少用IN

?? 基本上所有的IN操作都可以用EXISTS代替

2 用NOT EXISTS或者外连接替代 NOT IN

???? NOT IN 不能应用索引

3 尽量不是用<>或者!=

? 不等于操作符不会用到索引 !=2 用 >2 OR <2代替

4 设计表的时候把索引列设置为not null

5 尽量不把通配符%和_作为查询的第一个字段

6 where子句中尽量避免在索引列中使用计算

?????? substr(no,1,4)=?5400?,优化处理:no like ?5400%???
???? trunc(hiredate)=trunc(sysdate) , 优 化 处 理 : hiredate? >=trunc(sysdate) and? hiredate
<trunc(sysdate+1)

7 用>=替代>

8 where 子句中表连接写在最前面 能过滤最大数据的写在最后面

9 是用表的别名 并使用表别名作为列前缀

10 是用大写 oracle中是先把小写转换为大写

11 不是用* 用相应列名替代*