今天在优化一段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的执行效率。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。