特殊な用途の述部

特定の特殊な述部を使用して、照会のアクセス・パスの選択に影響を与えることができます。

例えば、以下の特殊な述部を使用できます。

WHERE (COL1=? OR 0=1)
常に偽の OR 0=1 条件は、複合述部において以下のような効果があります。
  • 索引アクセスを無効にする。
  • 見積もられたフィルター係数に 0.04 を追加する。
  • それを非ブール述部に変換し、プッシュダウンや推移的閉包などの特定の照会のトランスフォーメーションを無効にする。
WHERE (COL1=? OR 0<>0)
常に偽の OR 0<>0 条件は、複合述部において以下のような効果があります。
  • 索引アクセスを無効にする。
  • 見積もられたフィルター係数に 0.96 を追加する。これは、述部の選択度が低いことを示します。
  • それを非ブール述部に変換し、プッシュダウンや推移的閉包などの特定の照会のトランスフォーメーションを無効にする。
WHERE COL1=?+0
+0 は、照会のトランスフォーム時に削除されますが、述部にはマッチング索引不可としてマークが付けられます。
noncol-expr+0
noncol-expr-0
noncol-expr*1
noncol-expr/1
noncol-expr CONCAT blank-value
述部は、索引アクセスを無効にします。