IS NULL的优化
优化方法:
通过nvl(字段i,j),将字段i中为空的数据转化为j,从而正常使用索引....具体则是将条件 i is null 转化为 j = nvl(i,j);
数据量较大时转化is null 在所用oracle版本提升明显,
注意:使用时必须确保字段i的数据不包含j!...缺陷:字段i不能有值为j的数据
另外一种方式是将null包含到索引中
函数介绍:
nvl(a,b,c,…)
当a为空时取b,当b为空取c,以此类推....from tab_i t where 1=nvl(t.col_x,1);
--当t.col_x不存在等于1的数据时等价于
--select*from tab_i t where t.col_x is null...,null,1)=1;
IS NOT NULL的优化
优化方法
结果集不包含 j = nvl(i,j)即可,方式多样.