ハード解析とソフト解析
ハード解析
ハード解析は、その名の通り 「きびしい」 解析である。
データベースを起動したのち 初めて SQL を実行するような場合
ハード解析は、解析に関連するすべての操作を1から組み上げていくため、一時的にシステムリソースを集中的に消費する。
大量に消費するリソース(ソフト解析との比較において)
- CPU
- ライブラリ・キャッシュ・ラッチ取得
- 共有プール・ラッチ取得
ソフト解析
ソフト解析は共有プールに一致するものがある場合に実行される解析である。別のユーザー(セッション)が過去に実行した SQL も 共有プールのライブラリキャッシュという領域に格納されるためユーザー間で SQL カーソルの情報を利用することが可能となっている。
キャッシュの探索
キャッシュの探索はアプリケーションのテキスト(SQL の場合は SQL 文全体)をハッシュ値に変換したものをキーにして管理される。
つまり、同じ内容の問い合わせであったとしても 「select 〜」 、「Select 〜」、「SELECT 〜」はすべて異なるハッシュ値となる。
関連パフォーマンスビュー
- V$SGASTAT
- V$LIBRARYCACHE
- V$LIBRARY_CACHE_MEMORY
- V$JAVA_POOL_ADVICE
- V$JAVA_LIBRARY_CACHE_MEMORY
- V$SHARED_POOL_ADVICE