特殊な用途の述部
特定の特殊な述部を使用して、照会のアクセス・パスの選択に影響を与えることができます。
例えば、以下の特殊な述部を使用できます。
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+0noncol-expr-0noncol-expr*1noncol-expr/1noncol-expr CONCAT blank-value- 述部は、索引アクセスを無効にします。