6.1.1 OR条件中の共通部分を外側にくくり出す

OR条件を指定した場合,検索時にインデクスが使用されません。インデクスを使用するには,SQLを次のように書き換えてください。

■共通項のくくり出し
OR条件中の共通部分をOR条件の外側にくくり出すと,検索時にインデクスが使用されます。
書き換え前のSQL例

SELECT * FROM "T1"
 WHERE ("C1" = 1 AND "C2" = 'A') OR ("C1" = 1 AND "C3" = 10)

列C1にインデクスが定義されていても,インデクスが使用されません。
書き換え後のSQL例

SELECT * FROM "T1" WHERE "C1" = 1 AND ("C2" = 'A' OR "C3" = 10)

列C1にインデクスが定義されている場合,インデクスが使用されます。