BEGIN QUERY LOGGINGとともに設定するロギング オプションは、DBQLRuleTblのDBQLOptionsフィールドに記録されます。
ロギング オプション | マスク値 | 標識ビット位置 |
---|---|---|
EXPLAIN | 2 | 2 |
SQL | 4 | 3 |
OBJECTS | 8 | 4 |
STEPINFO | 16 | 5 |
XMLPLAN | 32 | 6 |
SUMMARY | 64 | 7 |
THRESHOLD | 128 | 8 |
STATSUSAGE | 256 | 9 |
LOCK | 512 | 10 |
VERBOSE | 1024 | 11 |
DETAILED STATSUSAGE | 2048 | 12 |
USECOUNT | 4096 | 13 |
UTILITYINFO | 8192 | 14 |
PARAMINFO | 16384 | 15 |
オプション | 定義 |
---|---|
ALL | すべてのログオン ユーザーのクエリーのオブジェクト情報、ステップ情報、EXPLAINテキスト、すべてのSQLリクエストをログに記録します。この処理は、EXPLAIN、OBJECTS、SQL、STEPINFOの各オプションを個別に指定した場合の処理と同じです。 ALLオプションには、LOCK、PARAMINFO、STATSUSAGE、XMLPLAN、またはUTILITYINFOは含まれてません。 このオプションは、SUMMARYまたはTHRESHOLD制限オプションを呼び出しません。 THRESHOLD制限オプションを指定する場合は、ALLロギング オプションを指定できません。 ALLを指定する場合は、SQLTEXTの値として0を指定し、SQLリクエストのテキストがDBC.DBQLogTblテーブルとDBC.DBQLSqlTblテーブルの両方で記録されないようにしてください。 ALLを指定する場合は、他のロギング オプションを指定できません。 |
EXPLAIN | リクエストの不定形式のEXPLAINテキストをログに記録します。 THRESHOLD制限オプションを指定する場合でも、EXPLAINロギング オプションを指定することはできません。 このオプションを指定すると、各リクエストの不定形式のEXPLAINテキストが生成され、ログに記録されます。ただし、EXPLAINリクエスト修飾子が先頭に付いているリクエストについては、EXPLAINテキストは生成されません。 例えば、以下のリクエストについては、EXPLAINテキストはログに記録されません。 EXPLAIN SELECT *
FROM table_a ; /* EXPLAIN text logging
does not occur */
同じクエリーを実行する場合でも、先頭にEXPLAIN修飾子が付いていなければ、不定形式のEXPLAINテキストがログに記録されます。 SELECT * FROM table_a; /* EXPLAIN text logging does occur */ クエリーのEXPLAINテキストを生成する際にパフォーマンスの影響が出るため、このオプションの指定には注意が必要です。 |
LOCK=n | 100分のn秒を超えるロック競合をXML形式でDBQLXMLLockTblに記録します。ロック プラン データを断片化する方法など、DBQLXMLLockTblの詳細については、<Teradata Vantage™ - データベースの管理、B035-1093>の「データベース問合わせロギングを使用した問合わせ動作の追跡」を参照してください。 |
OBJECTS | 指定するユーザー セットのSQLリクエストのアクセス対象になっているデータベース、テーブル、列、インデックスに関する情報をログに記録します。 THRESHOLD制限オプションを指定する場合でも、OBJECTSロギング オプションを指定することは可能です。 このオプションを指定しても、マクロやビューに関する処理はログに記録されません。ディクショナリ テーブルやその列に関する処理もログに記録されません。例えば、CREATE TABLEの場合でも、DBQLシステムに含まれているオブジェクトの情報はログに記録されません。文によって生成されるのは、ディクショナリ オブジェクトだけだからです。例えば、以下のようなクエリーでは、どのオブジェクトの情報もログに記録されません。そのクエリーでは、ディクショナリ テーブルに対するアクセスが行なわれるだけだからです。 SELECT * FROM DBC.TVFields; |
PARAMINFO | パラメータ値とメタデータがDBQLParamTblに記録されます。 |
SQL | 指定するユーザー セットによって実行されるすべてのSQLリクエストの完全テキストがシステム テーブルDBC.DBQLSqlTblに記録されます。 THRESHOLD制限オプションを指定する場合でも、SQLロギング オプションを指定することは可能です。 このオプションを指定しても、SQLプロシージャ、マクロ、ビュー、トリガーの中にあるSQLリクエストの情報はログに記録されません。 |
STATSUSAGE | クエリーの最適化でカーディナリティの見積もりが必要なDMLリクエストがシステム テーブルDBC.DBQLXMLTblにXML文書として記録されます。 STATSUSAGEとXMLPLANを一緒に指定すると、データベースは、収集したデータを1つの統合文書に記録します。 このオプションでログに記録されるデータは、制限オプションTHRESHOLDまたはSUMMARYの影響を受けません。 STATSUSAGEを指定しても、EXPLAINの対象になっているリクエストや、DUMP EXPLAIN文とINSERT EXPLAIN文に関する処理はログに記録されません。これらの文やEXPLAINリクエスト修飾子の詳細については、<Teradata Vantage™ - SQLデータ操作言語、B035-1146>を参照してください。 ALLオプションにSTATSUSAGEは含まれていません。 |
STEPINFO | 指定するユーザー セットによって実行されるすべてのSQLリクエストのAMPステップ レベル情報がシステム テーブルのDBC.DBQLStepTblに記録されます。 THRESHOLD制限オプションを指定する場合でも、STEPINFOロギング オプションを指定することは可能です。 |
USECOUNT | データベースまたはユーザーについて収集した使用回数をログに記録します。 ユーザーに対してUSECOUNTを指定する場合、他の任意のロギング オプションを指定できます。 データベースに対してUSECOUNTを指定する場合、他のロギング オプションはどれも指定できません。そうしないと、システムはリクエスト側にエラーを返します。 BEGIN QUERY LOGGINGリクエストを送信するときに、データベースまたはユーザーの使用回数とタイムスタンプをリセットします。 |
UTILITYINFO | ユーティリティ情報がDBC.DBQLUtilityTblに記録されます。 |
XMLPLAN | SQL DMLリクエストの最適化ルーチンによって生成されるクエリー計画がシステム テーブルDBC.DBQLXMLTblにXML文書として記録されます。 問題のあるクエリーを記録するときのベスト プラクティスとして、XMLPLANロギングを指定することを推奨します。XMLPLANオプションはクエリー計画と追加の詳細をキャプチャして、パフォーマンス問題の診断を支援します。 XMLPLANとSTATSUSAGEを一緒に指定すると、データベースは、収集したデータを1つの統合文書に記録します。 DDL文のStatementTypeや対応するStepNamesなど、基本情報を記録します。さらに、次の詳細情報を記録します。
XMLPLANでは、FastLoadジョブとMultiLoadジョブの詳細情報もログに記録されます。 XMLPLANを指定すれば、XML文書にクエリーとステップのテキストが組み込まれるので、通常はEXPLAINオプションとSQLオプションを指定する必要はありません。さらに、XMLPLANを指定する場合は、SQLTEXTの値として0を指定して、冗長なロギングを回避するようにしてください。 XMLPLANオプションを指定しても、EXPLAINリクエスト修飾子やINSERT EXPLAINリクエストとDUMP EXPLAINリクエストのクエリー計画はログに記録されません。 XMLPLANは、ALLオプションに含まれていません。 THRESHOLD制限オプションを指定する場合でも、XMLPLANロギング オプションを指定することはできません。 |