効率の良い SQL

検索条件項目は、計算するな
索引が使用されなくなる


×
SELECT * FROM TBL_A WHERE TBL_A.VALUE * 10 > :WK_VALUE


SELECT * FROM TBL_A WHERE TBL_A.VALUE > :WK_VALUE / 10
/

NOT は回避せよ
否定演算子は、検索が効かず、全表走査になる。他の判定方法で代用可能かのうか、検討せよ


×
SELECT * FROM TBL_A WHERE TBL_A.VALUE != '0'


SELECT * FROM TBL_A WHERE TBL_A.VALUE > '0'
/

インデックスの第一項目を条件に使わなくても、Oracle9iからはイデックスが使用される INDEX SKIP SCAN