Oracle 语句优化
2016-06-23 10:46
363 查看
1 尽量少用IN,基本上所有的IN操作都可以用EXISTS代替
2 用NOT EXISTS或者外连接替代 NOT IN,NOT IN 不能应用索引
3 尽量不是用$amp;不等于操作符不会用到索引 !=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 不是用* 用相应列名替代*
转自:http://www.educity.cn/wenda/389092.html
2 用NOT EXISTS或者外连接替代 NOT IN,NOT IN 不能应用索引
3 尽量不是用$amp;不等于操作符不会用到索引 !=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 不是用* 用相应列名替代*
转自:http://www.educity.cn/wenda/389092.html
相关文章推荐
- 使用BBED COPY命令,模拟oracle数据块的损坏
- oracle导入DMP步骤
- oracle如何创建只读用户只读另一用户的表&PLSQL 连接字符串
- Linux系统(X64)安装Oracle11g完整安装图文教程(转载)
- Oracle 11g 安装与卸载图解
- solaris安装oracle遇INS 30131 错误
- Oracle数据泵方式的数据库导入
- 数据库 day60,61 Oracle入门,单行函数,多表查询,子查询,事物处理,约束,rownum分页,视图,序列,索引
- oracle 启动监听报错TNS-12547: TNS:lost contact
- Oracle的SQL语句
- oracle 一个月的日期周期内按照周分组
- Oracle学习05【持续更新】
- oracle学习篇七:更新操作、事务处理
- Oracle学习04【持续更新】
- oracle基础实验
- oracle: 表连接方式---hash join原理
- oracle调整表中列顺序
- 单机ASM替换存储和主机
- plsql 连接oracle数据库详细配置
- jira 6.1.3打开上传屏幕截屏界面后跳转到oracle页面