IS NULL的优化
优化方法:
通过nvl(字段i,j),将字段i中为空的数据转化为j,从而正常使用索引....缺陷:字段i不能有值为j的数据
另外一种方式是将null包含到索引中
函数介绍:
nvl(a,b,c,…)
当a为空时取b,当b为空取c,以此类推....优化示例
--使用nvl函数的方式(不用添加索引,推荐)
select*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;
--添加索引的方式
create index idx_col_x on tab_i(decode(col_x,null,1));...select*from tab_i t where decode(t.col_x,null,1)=1;
IS NOT NULL的优化
优化方法
结果集不包含 j = nvl(i,j)即可,方式多样.