ブール項述部

結合操作の場合、可能な限り、非ブール項述部より、ブール項述部の選択を優先すると、照会のパフォーマンスを改善することができます。

プログラム固有のプログラミングインターフェース情報の開始。ブール項述部は、単純な述部または複合述部であり、特定の行について偽と評価されると、その特定の行に対して、WHERE文節全体がfalseになります。

例えば、以下の照会では、P1、P2、 および P3 は単純述部です。

SELECT * FROM T1 WHERE P1 AND (P2 OR P3);
  • P1 は単純ブール項述部です。
  • P2 と P3 は単純非ブール項述部です。
  • P2 OR P3 は複合ブール項述部です。
  • P1 AND (P2 OR P3) は複合ブール項述部です。
単一索引処理は、通常、マッチング索引アクセスにブール項述部を必要とします。 Db2 単一のカラムに対する単純な非ブール式のOR条件を、ブール式のINリストを使用するように書き換えます。 例えば、次のステートメントは書き直されます。
SELECT * FROM T1 WHERE C1 = ? OR C1 = ?;
次のステートメントが、その結果です。
SELECT * FROM T1 WHERE C1 IN (?, ?)

複数索引アクセスまたは範囲リスト・アクセスでは、より複雑なブール項述部が候補になる可能性があります。

結合操作では、ブール項の述部は、非ブール項の述部よりも早い ステージで行を拒否できます。

推奨 :結合操作では、可能な限り、ブール型項述語を非ブール型項述語よりも優先して選択します。

プログラム固有のプログラミングインターフェース情報を終了します。