7.217 PLAN_TABLE

PLAN_TABLEは、すべてのユーザーに対してEXPLAIN PLAN文の出力を保持するグローバル一時表として自動的に作成されます。

PLAN_TABLEは、EXPLAIN PLAN文によって実行計画を示す行が挿入されるデフォルトのサンプル出力表です。

PLAN_TABLE表は各ユーザーに対して自動的に設定されますが、SQLスクリプトutlxplan.sqlを使用すると、ローカルのPLAN_TABLEをユーザーのスキーマに手動で作成できます。

データ型 NULL 説明

STATEMENT_ID

VARCHAR2(30)

EXPLAIN PLAN文に指定されたオプションのSTATEMENT_IDパラメータの値

PLAN_ID

NUMBER

データベース内の計画の一意の識別子

TIMESTAMP

DATE

EXPLAIN PLAN文が生成された日時

REMARKS

VARCHAR2(4000)

EXPLAIN PLANで表示された計画の各ステップに関連付けるコメント(4000バイト以下)。この列は、問合せに対しアウトラインまたはSQLプロファイルが使用されたかどうかを示すために使用される。

PLAN_TABLEの行に注釈を追加または変更する必要がある場合は、UPDATE文を使用してPLAN_TABLE文の行を変更する。

OPERATION

VARCHAR2(30)

このステップで実行された内部操作の名前です。文に対して生成された最初の行では、その列に次のいずれかの値が含まれる。

  • DELETE STATEMENT

  • INSERT STATEMENT

  • SELECT STATEMENT

  • UPDATE STATEMENT

OPTIONS

VARCHAR2(255)

OPERATION列で示されている操作のバリエーション

OBJECT_NODE

VARCHAR2(128)

オブジェクト(表名またはビュー名)を参照するために使用されたデータベース・リンクの名前です。パラレル実行を使用するローカル問合せの場合、この列はコンシュームされた操作からの出力順番を示す。

OBJECT_OWNER

VARCHAR2(128)

表または索引の所有者

OBJECT_NAME

VARCHAR2(128)

表名または索引名

OBJECT_ALIAS

VARCHAR2(261)

SQL文に含まれる表またはビューの一意の別名。索引の場合は、基礎となる表のオブジェクトの別名。

OBJECT_INSTANCE

NUMBER(38)

元の文に指定されているオブジェクトの位置に対応する順番を示す数値です。この数値は元の文のテキストに対して、左から右へ、外側から内側へ付番される。ビューを展開した場合、この数値は予測できない。

OBJECT_TYPE

VARCHAR2(30)

オブジェクトに関する情報を示す修飾子(索引に対するNON-UNIQUEなど)

OPTIMIZER

VARCHAR2(255)

オプティマイザのカレント・モード

SEARCH_COLUMNS

NUMBER

現在は未使用

ID

NUMBER(38)

実行計画のステップごとに割り当てられた番号

PARENT_ID

NUMBER(38)

IDのステップの出力について処理を行う、次の実行ステップのID

DEPTH

NUMBER(38)

計画が示す行ソース・ツリー内の操作の深さ。この値を使用して、PLAN TABLEレポートの行をインデントできる。

POSITION

NUMBER(38)

最初の出力行の場合、この列はオプティマイザが見積もった、文を実行するためのコストを示す。その他の行の場合は、同じ親の他の子に対応する相対位置を示す。

COST

NUMBER(38)

オプティマイザの問合せ方法で見積もった操作のコスト。表アクセス操作のコストは判断されない。この列の値には、特定の測定単位がなく、単に実行計画のコストを比較するために使用される重み付け値を示す。この列の値は、CPU_COST列およびIO_COST列の関数である。

CARDINALITY

NUMBER(38)

この操作によってアクセスされる行数の問合せ最適化方法による見積り

BYTES

NUMBER(38)

この操作によってアクセスされるバイト数の問合せ最適化方法による見積り

OTHER_TAG

VARCHAR2(255)

OTHER列の次の内容を示す。

  • SERIAL - シリアル実行。この場合、SQLはOTHER列に現在ロードされていない。

  • SERIAL_FROM_REMOTE - リモート・サイトでのシリアル実行。

  • PARALLEL_FROM_SERIAL - シリアル実行。ステップの出力は、パーティション化されるか、パラレル実行サーバーにブロードキャストされる。

  • PARALLEL_TO_SERIAL - パラレル実行。ステップの出力は、シリアル問合せコーディネータ(QC)・プロセスに戻される。

  • PARALLEL_TO_PARALLEL - パラレル実行。ステップの出力は、パラレル実行サーバーの2番目のセットに再パーティション化される。

  • PARALLEL_COMBINED_WITH_PARENT - パラレル実行。ステップの出力は、同じパラレル処理の次のステップに送られる。親へのプロセス間通信はなし。

  • PARALLEL_COMBINED_WITH_CHILD - パラレル実行。ステップの入力は、同じパラレル処理の前のステップから受け取る。子からのプロセス間通信はなし。

PARTITION_START

VARCHAR2(255)

アクセスされたパーティション範囲の開始パーティション:

  • number - 開始パーティションはSQLコンパイラで識別され、そのパーティション番号はnumberで示される。

  • KEY - 開始パーティションは実行時にパーティション化キー値から識別される。

  • ROW REMOVE_LOCATION - 開始パーティション(終了パーティションと同じ)は実行時に、取得されている各レコードの位置から算出される。レコードの位置は、ユーザーまたはグローバル索引によって取得される。

  • INVALID - アクセスされたパーティションの範囲が空である。

PARTITION_STOP

VARCHAR2(255)

アクセスされたパーティション範囲の終了パーティション:

  • number - 終了パーティションはSQLコンパイラで識別され、そのパーティション番号はnumberで示される。

  • KEY - 終了パーティションは実行時にパーティション化キー値から識別される。

  • ROW REMOVE_LOCATION - 終了パーティション(開始パーティションと同じ)は実行時に、取得されている各レコードの位置から算出される。レコードの位置は、ユーザーまたはグローバル索引によって取得される。

  • INVALID - アクセスされたパーティションの範囲が空である。

PARTITION_ID

NUMBER(38)

PARTITION_START列とPARTITION_STOP列の値の組を計算したステップ

OTHER

LONG

ユーザーにとって有効な、実行ステップに固有のその他の情報(OTHER_TAG列を参照)

OTHER_XML

CLOB

実行計画の実行ステップに固有の追加情報を示す。複数の情報を格納できるため、この列の内容はXMLを使用して構成される。次のものが含まれる。

  • 問合せが解析された対象スキーマの名前

  • EXPLAIN PLANを作成したOracle Databaseのリリース番号

  • 実行計画に関連付けられたハッシュ値

  • 実行計画の作成に使用されたアウトラインまたはSQLプロファイルがある場合は、その名前

  • 計画の作成に動的統計が使用されたかどうか

  • アウトライン・データ(同じ計画の再作成に使用できる一連のオプティマイザ・ヒント)

DISTRIBUTION

VARCHAR2(30)

プロデューサの問合せサーバーからコンシューマの問合せサーバーへの、行の分散に使用されるメソッド

CPU_COST

NUMBER(38)

問合せオプティマイザの方法で見積もった操作のCPUコスト。この列の値は、操作に必要なマシン・サイクル数に比例する。ルールベース方法を使用する文の場合、この列はNULL。

IO_COST

NUMBER(38)

問合せオプティマイザの方法で見積もった操作のI/Oコスト。この列の値は、操作で読み込まれるデータ・ブロック数に比例する。ルールベース方法を使用する文の場合、この列はNULL。

TEMP_SPACE

NUMBER(38)

問合せオプティマイザの方法で見積もった、操作で使用される一時領域(バイト)。ルールベース方法を使用する文の場合、または一時領域を使用しない操作の場合、この列はNULL。

ACCESS_PREDICATES

VARCHAR2(4000)

アクセス構造内の行の検索に使用する述語。たとえば、開始述語または停止述語は索引レンジ・スキャンに使用。

FILTER_PREDICATES

VARCHAR2(4000)

行の生成前のフィルタ処理に使用される述語

PROJECTION

VARCHAR2(4000)

操作により生成される式

TIME

NUMBER(38)

問合せオプティマイザで見積もった操作の経過時間(秒)。ルールベース方法を使用する文の場合、この列はNULL。

QBLOCK_NAME

VARCHAR2(128)

問合せブロックの名前(システム生成またはQB_NAMEヒントによるユーザー定義のいずれか)