OracleOracleの親・子カーソルの調査方法についてのメモです。V$SQL_SHARED_CURSOR;親カーソル・子カーソルとは解析済のSQL文には、1つの親カーソルと1つ以上の子カーソルがあります。親カーソルにはSQLのテキストが格納され、子カーソルには実行計画などが格納されます。僕の理解では、SQLを発行する際にキャッシュされている実行計画の再利用のため親カーソルに一致するSQL文があるか確認。不一致の場合は、新たに親カーソルを生成する。一致する親カーソルが存在する場合、その子カーソルの実行計画が使用できるか確認。2で子カーソルが使用できないと判断した場合、新たな子カーソルを生成する。)というような流れで処理される認識です。親カーソルとは親カーソルにはSQLのテキストが格納されます。SQL文が異なる場合、別の親カーソルが作成されます。(大文字・小文字の違いだけでも、親カーソルは新たに生成されます。)親カーソルが格納されるテーブル(V$SQLAREA)子カーソルとは親カーソルには必ず1つ以上の子カーソルが生成されます。子カーソルには、実行計画・バインド変数などの情報が含まれます。SQLのテキストは格納されません。Performanceの改善スポンサーリンクシェアするツイートフォローするcursor関連記事Oracle|性能の良いSQLの書き方OracleでSQLを書く際に、どのような点に注意すれば性能の良いSQLが書けるかについてまとめてみました。記事を読むOracle|ユーザーとデータファイルの削除方法Oralceでユーザーとユーザーに紐つくデータファイルの削除方法について記載しています。記事を読むOracle|インデックスのまとめOracleでのインデックスの使われ方や、再構築、不要なインデックスを判断するSQLについて記載しています。記事を読むOracle|Statspackの見方(解析方法)OracleのStatspackの見方(解析方法)について、手順をまとめました。意味などについて記載しています。記事を読むOracle|JDBCのバージョン確認方法jdbcのバージョン確認方法や、Oracleとの互換性確認方法について記載しています。記事を読む【Oracle】MacにOracleをインストール(実行)する方法MacでOracle(19.3.0)を実行する方法について記載しています。コメントをキャンセルメールアドレスが公開されることはありません。