INSERT EXPLAIN
[ WITH [NO] STATISTICS [ USING SAMPLE percentage [ PERCENT ] ] ]
[ AND DEMOGRAPHICS ]
[ FOR for_spec [,...] ]
INTO QCD_name
[ AS query_plan_name ]
[ LIMIT [ SQL [= n] ] ]
[ FOR frequency ]
[ CHECK STATISTICS ]
[ IN XML [NODDLTEXT] ]
SQL_request [;]
構文要素
- WITH STATISTICS
- SQL_statement内に指定されるWHERE句の条件列に関する統計をキャプチャすることを指定します。
- IN XMLオプションとWITH STATISTICSは同時に指定できません。
- このオプションを指定することは、問合わせテーブルの列に対してCOLLECT STATISTICS (QCD形式)を実行することと同じです。
- WITH NO STATISTICS
- SQL_statement内に指定されるWHERE句の条件列に関する統計をキャプチャしないことを指定します。
- USING SAMPLE percentage [ PERCENT ]
- 統計収集のために読み込むデータのパーセンテージ。
- この句を指定しないと、システムはテーブルの基数に基づいてサンプル サイズを自動的に選択します。
- IN XML句とUSING SAMPLE句は同時に指定できません。
- 有効範囲は1以上100以下です。
- AND DEMOGRAPHICS
- 統計だけではなくテーブル レベルのデモグラフィックも収集します。
- このオプションを指定することは、問合わせテーブルに対してCOLLECT DEMOGRAPHICSリクエストを実行することと同じです。COLLECT DEMOGRAPHICSを参照してください。
- このオプションを指定しない場合は、システムはテーブル レベルのデモグラフィックを収集しません。
- for_spec
[ database_name. | user_name. ] table_name
- WITH STATISTICSオプションを指定したかWITH NO STATISTICSオプションを指定したかに基づいて、データ デモグラフィックと統計の詳細を分析から除外する(または分析に含める)テーブルのセットを指定します。
- インデックス候補の列に関する統計、および以下の場合には、SQL_statementの値で明示的に参照されているすべての列およびインデックスに関する統計が収集されます。候補インデックス列は、指定されたQCDのFieldテーブルに格納されている値または結合範囲アクセス頻度が0より大きい列として定義されます。指定内容:
- WITH STATISTICSの場合、データベースは問合わせで参照されるすべてのテーブルについて統計を収集します。
- WITH STATISTICS FOR table_nameの場合、データベースはFOR table_name句にも指定されている問合わせで参照されるテーブルについてのみ統計を収集します。
- WITH NO STATISTICS FOR table_nameの場合、データベースはFOR table_name句にリストされていないクエリーで参照されるテーブルについてのみ統計を収集します。
- IN XML句はFOR table_name句と同時に指定できません。
- QCD_name
- ユーザー定義の問合わせキャプチャ データベース。
- QCD_nameで名前が指定されたデータベースは存在しなければなりません。そうでない場合、リクエストはアボートし、エラーが返されます。
- query_plan_name
- 問合わせ計画情報を格納するオプションのユーザー定義の名前を指定します。オブジェクト命名ルールの詳細については、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。
- query_plan_nameを指定しない場合は、クエリー計画情報は名前なしで格納されます。各クエリー計画は固有な非NULLクエリーID付きで格納されるので、特定のデータベース内でさまざまなクエリー計画を区別できます。<Teradata Vantage™ - SQLリクエストおよびトランザクション処理、B035-1142>を参照してください。クエリーIDは複数のデータベースに渡って固有ではありません。
- query_plan_nameは、固有である必要はありません。
- query_plan_nameをquery_plan_nameとして格納できます。ただし、その場合は埋め込み文字で分離された語を"query plan name"のように単一引用符で囲む必要があります。
- LIMIT [ SQL [ = n] ]
- Query、Relation、およびViewTextのそれぞれのQCDテーブルについてキャプチャされる問合わせ、DDL、およびビュー テキストのサイズを制限します。
- この句を指定しないと、システムは完全なSQLテキストをキャプチャします。
- nの値は、キャプチャするテキストの量の上限を表わします。
- LIMITだけを指定するかLIMIT SQLに値を指定しない場合、この句はLIMIT SQL = 0と同じであり、テキストはキャプチャされません。
- FOR frequency
- SQL_statementが通常は識別されたワークロードの間に実行される回数を指定します。
- この値は、インデックス推奨事項に含めるように分析された各列のそれぞれの利点に重みを付けるために使用されます。
- 4バイトまでの正の整数が有効です。
- IN XML句はFOR frequency句と同時に指定できません。
- この句を指定しない場合は、frequencyの値はデフォルトで1になります。
- CHECK STATISTICS
- StatsRecs QCDテーブル内のSQL_statementのためのCOLLECT STATISTICS推奨事項をキャプチャすることを指定します。<Teradata Vantage™ - SQLリクエストおよびトランザクション処理、B035-1142>を参照してください。
- IN XMLオプションとCHECK STATISTICSは同時に指定できません。
- IN XML
- 出力をXMLドキュメントとしてキャプチャします。
- このドキュメントは、XMLQCDという名前のQCDテーブルに保管されます。
- 次に示すオプションのいずれかを指定している場合には、IN XML句を指定できません。
- USING SAMPLE
- FOR table_name
- FOR frequency
- IN XMLオプションを指定するときには、それと同時にNODDLTEXTオプションも指定できます。
- IN XMLオプションは、次のどのオプションとも同時に指定できません。
- CHECK STATISTICS
- WITH STATISTICS
- NODDLTEXT
- qcd.XMLQCDに格納されるXMLドキュメントのDDLテキストをキャプチャしません。
- SQL_request
- 最適化ルーチンの空白ツリー情報をキャプチャしてQCDに書き込む対象となるDMLリクエストを指定します。
- SQL_requestは、次に示す文に限定されます。
- DELETE
- EXEC (マクロ形式)
- INSERT
- MERGE
- SELECT
- UPDATE