この質問はDBスタック交換サイトに適しているかもしれませんが、私にはわかりませんでした。
とにかく、私はクエリの最適化を扱っていますが、バインド変数を使用するとパーサーがそれほど難しくないことを学びました。実行中のクエリに改善が見られましたが、バインド変数用にソフトウェアから渡された静的変数を削除することも役立つかどうか疑問に思っています。次に例を示します。
select *
from report
where report.name = :1
and report.enabled = '1'
私はそれをサブアウトして言うことができます
select *
from report
where report.name = :1
and report.enabled = :2
私はただ変更を加えるだけですが、実際にソフトウェアでそれを行い、それがもたらす違いを確認するプロセスは、やや長くて退屈です。(最初の例のように)リテラルを混合すると、それらが常に同じであっても、オプティマイザーの効率が損なわれるかどうかを誰かが知っていますか?
前もって感謝します。