ORACLE-017:SQL优化-is not null和nvl

今天在优化一段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';

速度提升非常明显。

原因是什么呢?事实上非常easy,由于is null和is not null使字段的索引失效了。

尽管都知道哪些情形下会使索引失效,可是有时难免受业务需求的影响而考虑的不够全面,所以sql优化要时刻进行。随时进行。努力提高sql的运行效率。

posted on   slgkaifa  阅读(1961)  评论(0编辑  收藏  举报

导航

< 2025年4月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10
点击右上角即可分享
微信分享提示