17.10 - BEGIN QUERY CAPTUREに関するルールと制約事項 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)

BEGIN QUERY CAPTURE文に関するルールと制約事項を以下にまとめます。

BEGIN QUERY CAPTUREとBEGIN QUERY LOGGING

BEGIN QUERY CAPTUREには、以下の形式のBEGIN QUERY LOGGINGと同じ機能があります。ただし、XMLクエリー計画は、DBQLログではなくクエリー キャプチャ データベース(QCD)でキャプチャされます。

BEGIN QUERY LOGGING WITH XMLPLAN,STATSUSAGE,VERBOSE,STATSDETAILS;

データベースでは、XMLプランをDBQLログでキャプチャしないことで、NO EXECクエリーがDBQLログの実行済みのクエリーと混在することがないようにしています。代わりに、XML計画はQCDテーブルのXMLQCDにキャプチャされます。

BEGIN QUERY CAPTUREの範囲はセッション レベルです。BEGIN QUERY LOGGINGのようにユーザー レベルではありません。クエリー ロギング用に保持されるDBC.DbqlRuleTblとは違って、データベースはクエリー キャプチャ ルールをクエリー キャプチャ データベースに保持しません。BEGIN QUERY CAPTUREおよびBEGIN QUERY LOGGINGのリレーションシップの詳細については、<Teradata Vantage™ - データベースの管理、B035-1093>を参照してください。

BEGIN QUERY CAPTUREは、BEGIN QUERY LOGGINGと同じ文のタイプをサポートします。

BEGIN QUERY CAPTUREでは、EXPLAINリクエスト修飾子またはINSERT EXPLAIN文やDUMP EXPLAIN文のクエリー計画はキャプチャしません。

アクティブなBEGIN QUERY CAPTUREセッションがあるユーザーに対してBEGIN QUERY LOGGINGリクエストを送信することはできない。

クエリー バンドおよびBEGIN QUERY CAPTURE

BEGIN QUERY CAPTURE文ではクエリー バンドを使用できるが、BEGIN QUERY CAPTURE/END QUERY CAPTURE文ペアの有効範囲内でクエリー バンドを有効化または無効化することはできない。

データベースは、使用されているクエリー バンドの名前をキャプチャし、それをQCD XMLQCDテーブルに格納します。

BEGIN QUERY CAPTUREのVERBOSEオプション

BEGIN QUERY CAPTUREにVERBOSEオプションを指定した場合、ログに記録されたXML文書には、XMLPLANオプションを指定したかどうかに関係なく、オブジェクト、SQL、ステップ詳細、および冗長EXPLAINテキストに関する詳細が含まれる。

データベースは、冗長EXPLAINテキストを既存の<PlanStep>@StepText属性にロギングします。

冗長EXPLAINテキストには、常にリクエストの標準EXPLAINテキストが含まれます。

STATSDETAILSオプションおよびXMLPLANオプション

STATSDETAILSオプションを指定し、XMLPLANオプションを指定しなかった場合、ロギングされたXML文書には、オブジェクト、SQL、ステップ詳細、統計ヘッダーの統計詳細、および統計推奨DDLに関する詳細が含まれる。

STATSDETAILSとXMLPLANの両方を指定した場合、データベースは両方のオプションのデータを含む1つの統合文書をロギングします。

データベースは、オブジェクト、SQL、およびステップ詳細を1回だけロギングします。統計ヘッダーの統計詳細は新しいXML要素にロギングされます。

BEGIN QUERY CAPTURE文範囲

以前に送信したBEGIN QUERY CAPTURE文の有効範囲内でBEGIN QUERY CAPTUREリクエストを送信することはできない。