ORACLE-017:SQL优化-is not null和nvl
2015-08-25 10:23
411 查看
今天在优化一段sql,原脚本大致如下:
于是做了如下修改:
原因是什么呢?其实很简单,因为is null和is not null使字段的索引失效了。
虽然都知道哪些情形下会使索引失效,但是有时难免受业务需求的影响而考虑的不够全面,所以sql优化要时刻进行,随时进行。努力提高sql的执行效率。
select a.字段n from tab_a a where a.字段2 is not null;a.字段2增加了索引的,但是查询速度非常慢,
于是做了如下修改:
select a.字段n from tab_a a where nvl(a.字段2,'0' ) != '0';速度提升很明显。
原因是什么呢?其实很简单,因为is null和is not null使字段的索引失效了。
虽然都知道哪些情形下会使索引失效,但是有时难免受业务需求的影响而考虑的不够全面,所以sql优化要时刻进行,随时进行。努力提高sql的执行效率。
相关文章推荐
- ORACLE-017:SQL优化-is not null和nvl
- oracle with as 用法
- Oracle Instant Client(即时客户端) 安装与配置
- Oracle触发器
- oracle时间操作
- ORACLE 查看锁
- Oracle数据库默认用户名和密码
- Oracle 11g Express Edition 安装及常见问题
- oracle 11G RAC scan监听器配置静态注册
- Oracle恢复误删的数据或表,解除锁定SQL或table
- ORACLE多表查询之子查询
- oracle 11G Rac service管理
- ORACLE-016:ora-01720 授权选项对于'xxxx'不存在
- ORACLE-016:ora-01720 授权选项对于'xxxx'不存在
- ORACLE-016:ora-01720 授权选项对于'xxxx'不存在
- ORACLE-016:ora-01720 授权选项对于'xxxx'不存在
- Oracle设置表中自增字段
- 用命令行(CMD)中启动和关闭ORACLE服务
- 图解如何配置Oracle本地Net服务名
- Oracle代码段的使用