ここでは、ORACLEデータベースにおけるハードパースとは何か紹介します。
ORACLEハードパースの回数の確認や削減方法は↓で紹介していますのでぜひ参考にしてください。
>>【SQL】ハードパースされた回数を確認する方法
>>【SQL】ハードパースを削減する方法
ハードパースとは
ハードパースとは、SQLの解析処理になります。
SQLが実行されたとき、過去に実行された履歴(実行計画)を基にSQLを実行します。これがソフトパースです。
過去に実行された履歴(実行計画)が存在しない場合はハードパースが行われます。
ハードパースでは、
・SQLの構文のチェック
・テーブルや列の定義のチェック、権限のチェック
・実行計画の作成
が行われます。
そして解析結果をライブラリキャッシュにキャッシュします。
ちなみに当然ながらハードパースするとソフトパースよりも時間がかかります。
そのため、ハードパースが多発するとデータベースの性能が落ちます。
特にCPU使用率、共有プールの使用量が高くなります。
以上のことからハードパースは出来るだけ削減した方がデータベース全体の性能は上がります。
まとめ
ハードパースはSQL解析処理で以下の処理を行っています。
・SQLの構文のチェック
・テーブルや列の定義のチェック、権限のチェック
・実行計画の作成
SQLが解析されると実行計画が作成されます。
実行計画については↓で詳しく解説していますので参考にしてください。
>>【ORACLE】オプティマイザと実行計画について