今天在優化一段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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。