問合わせの最適化ルーチン計画情報をキャプチャして、一連のINSERTリクエストを含むスクリプトの形式で要求元に返します。
- Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144のBEGIN QUERY LOGGINGとREPLACE QUERY LOGGINGを参照してください。
- COLLECT DEMOGRAPHICS
- COLLECT STATISTICS(QCD形式)
- INITIATE INDEX ANALYSIS
- INSERT EXPLAIN
- RESTART INDEX ANALYSIS
- Teradata Vantage™ - SQLリクエストおよびトランザクション処理、B035-1142
- Teradata Vantage™ - データベースの設計、B035-1094
- Teradata® Viewpointユーザー ガイド、B035-2206、統計マネージャーのトピック
- Teradata® System Emulation Toolユーザー ガイド、B035-2492
ANSI準拠
DUMP EXPLAINは、ANSI SQL:2011規格に対するTeradataの拡張機能です。
必要な権限
指定された問合わせキャプチャ データベースのすべてのテーブルに対するINSERT権限が必要です。
呼び出し
通常は、クライアント ベースのデータベース問合わせ分析ツールを使用して呼び出されます。
既存のQCDなしのDUMP EXPLAINのアクション
DUMP EXPLAINによって作成されるスクリプトを初めて実行する前に、テスト システム上に既存のQCD_nameデータベースが存在していることを確認してください。
DUMP EXPLAINによって作成されるスクリプトを実行するときに、QCD_nameデータベースまたはそのテーブルのいずれか1つでも存在しない場合、あるいは1つ以上のQCD_nameデータベース テーブルに対するINSERT権限がない場合は、適切なエラー メッセージが表示され、スクリプトの実行が終了します。
DUMP EXPLAINで実行されるアクション
DUMP EXPLAINは、以下の動作を示されている順序で実行します。
- SQL_statementによって指定されたSQL DMLリクエストに対してEXPLAINを実行する。
- EXPLAINから最適化ルーチン計画出力をキャプチャする。
- ユーザー指定の問合わせキャプチャ データベースの適切なテーブルを更新するように設計された一連のINSERTリクエストを含むスクリプトとして出力を返す。
いくつかの異なるマシンから情報を収集していて、適切なマシン上の選択したQCDだけの結果の更新を確認する場合、またはワークロードの大きい期間にQCDを更新しない場合は、INSERT EXPLAINではなくDUMP EXPLAINを使用します。この場合は、ワークロードの小さい期間にDUMPリクエストをバッチ ジョブの一部として実行できます。
DUMP EXPLAINは、複文リクエスト内では無効
マルチ ステートメント リクエストの一部としてDUMP EXPLAINリクエストを実行することはできませんが、マルチ ステートメント リクエストに対してDUMP EXPLAINリクエストを実行することはできます。
DUMP EXPLAINリクエストを含むマルチ ステートメント リクエストを実行しようとすると、そのマルチ ステートメント リクエストはアボートされ、エラーが返されます。
次の例で示すDUMP EXPLAINリクエストは、マルチ ステートメント リクエストで有効な文のように見えます。事実、このリクエストによってDUMP EXPLAINに続くマルチ ステートメント リクエストのクエリー計画がキャプチャされます。つまり、このDUMP EXPLAINリクエストは、マルチ ステートメント リクエストの一部ではないということになります。その結果、このリクエストは他のDUMP EXPLAINと同様に扱われ、正常に完了します。
DUMP EXPLAIN INTO qcd SELECT * FROM d1.t1 ;SELECT * FROM d1.t1; *** Insert completed. One row added. *** Total elapsed time was 1 second.
DUMP EXPLAINは、XML出力のキャプチャをサポートしない
INSERT EXPLAINおよびEXPLAINリクエスト修飾子とは異なり、DUMP EXPLAIN文では、XMLドキュメントの問合わせ計画のキャプチャをサポートしていません。
DUMP EXPLAINの結果に対するリクエスト キャッシュ参照の効果
データ パーセルがDUMP EXPLAINリクエストとともに実行されると、計画が参照済みUSINGとCURRENT_DATEやDATE値、または両方の値で生成されることがあります。これらの値が検査される場合、問合わせ計画によってこれらが示されます。
データ パーセルがDUMP EXPLAINリクエストとともに実行されない場合、結果の計画がUSING、CURRENT_DATEやDATE値を参照しないで生成されます。つまり定義による全般計画です。Teradata System Emulation Tool は、DUMP EXPLAINリクエストを使用してクエリー計画の取得中に入力としてUSINGデータを受け付けません。ただし、リクエストがBTEQを使用して実行された場合は除きます。