|
スポンサード リンク
● INDEX列で論理比較のNOTの使用は、INDEXが使用されない
|
× select * from emp where emp_id <> 'E01';
× select * from emp where emp_id not in ('E01','E02','E03'); |
● INDEX列で関数の使用は、INDEXが使用されない
Bツリー・インデックスで関数を使用すると、INDEXが使用されない。
但し、ファンクション・インデックスを作成した場合は関数が使用できる。
|
× select * from emp where substr(emp_id,1,1) = 'E';
|
● INDEX列で演算子の使用は、INDEXが使用されない
|
○ select * from emp where salary > 100;
× select * from emp where salary - 50 > 100; |
● INDEX列でNULL比較の使用は、INDEXが使用されない
Bツリー・インデックスの中にはNULL値は存在しないので、WHERE句に「IS NULL」を指定するとINDEXは使用されない。
但し、ビットマップ・インデックスの場合は、NULL値はインデックスに含まれるので、INDEXは使用される。
|
× select * from emp where emp_name is null; |
スポンサード リンク
|