チューニング【SQL】ハードパースを削減する方法ここでは、ORACLEデータベースでハードパースを削減する方法を紹介します。SQLのハードパースを削減させるには、出来る限り同じSQLを実行する必要があります。ハードパースの基礎的な内容や回数を確認する方法は↓で紹介していますのでぜひ参考にしてください。>>【ORACLE】ハードパースとは>>【SQL】ハードパースされた回数を確認する方法よく使うSQLは全く同じにする例えばシステム全体で参照するテーブルへアクセスするSQLなどは全く同じSQLを使うようにします。・抽出条件SQLは一言一句同じ内容になるようにします。バインド変数を利用するSQLの抽出条件の値が違うだけの場合はバインド変数を利用しましょう。WHERE句の条件をアプリケーションで組み立てるのではなく、バインド変数を利用するようにしてください。これにより同一のプログラムから実行されるSQLは同じSQLとして認識されます。初期化パラメータの変更CURSOR_SHARINGという初期化パラメータを変更することでバインド変数を使用していないSQLも同一のものとして認識するように変更できます。これをやるときはきっと、アプリケーションでの対応が不可能だというだと思います。これまで私はこの対応に踏み切ったことはありませんので効果は定かではありません。※ただし、システム全体のパフォーマンスにも影響するため、DBAに相談の上、対応を進めてください。まとめハードパースを削減する方法を3つ紹介しました。・よく使うSQLは全く同じにする・バインド変数を利用する・初期化パラメータの変更SQLが解析されると実行計画が作成されます。実行計画については↓で詳しく解説していますので参考にしてください。