【ORACLE】ハードパースとは

ここでは、ORACLEデータベースにおけるハードパースとは何か紹介します。

ORACLEハードパースの回数の確認や削減方法は↓で紹介していますのでぜひ参考にしてください。
>>【SQL】ハードパースされた回数を確認する方法
>>【SQL】ハードパースを削減する方法

ハードパースとは

ハードパースとは、SQLの解析処理になります。

SQLが実行されたとき、過去に実行された履歴(実行計画)を基にSQLを実行します。これがソフトパースです。

過去に実行された履歴(実行計画)が存在しない場合はハードパースが行われます。

ハードパースでは、
・SQLの構文のチェック
・テーブルや列の定義のチェック、権限のチェック
・実行計画の作成
が行われます。

そして解析結果をライブラリキャッシュにキャッシュします。

ちなみに当然ながらハードパースするとソフトパースよりも時間がかかります。

そのため、ハードパースが多発するとデータベースの性能が落ちます。
特にCPU使用率、共有プールの使用量が高くなります。

以上のことからハードパースは出来るだけ削減した方がデータベース全体の性能は上がります。

まとめ

ハードパースはSQL解析処理で以下の処理を行っています。
・SQLの構文のチェック
・テーブルや列の定義のチェック、権限のチェック
・実行計画の作成

SQLが解析されると実行計画が作成されます。
実行計画については↓で詳しく解説していますので参考にしてください。
>>【ORACLE】オプティマイザと実行計画について