Teradataにおけるクエリーログの取得

---	
Teradataのクエリーログ（DBQL)について
---	
:::note warn	
警告	
本記事はTeradata Corporationのサイト[Teradataドキュメント](https://docs.teradata.com/)に掲載された内容を抄訳したものです。掲載内容の正確性・完全性・信頼性・最新性を保証するものではございません。正確な内容については原本をご参照下さい。	
また、修正が必要な箇所やご要望についてはコメントをよろしくお願いします。	
:::	
	
# 概要
Teradataへアクセスされるクエリーログ（DBQL)の取得設定方法、及びログ内容についての説明です。

# 前提条件
・当内容はTeradataVantageのバージョン17.20を前提に記載しています。
・Teradataシステムへ管理者ユーザ（dbc）でのログインが必要です。
・ロギングの開始、編集、終了のコマンド実行時はTeradataモードでの実行が必要です。（[Teradata Vantage SQLリクエストおよびトランザクション処理](https://docs.teradata.com/r/bPAhBMHKVHoOyXgxwdlT2Q/3aJVcGA6kXMCxg1_habRnA))

# クエリーログの設定確認を行う。
クエリーログの取得には、DBQLRulesテーブルに設定が必要となります。
まずは設定状況を確認してみましょう。

dbcユーザでログインを行い、以下SQLを実行し内容を確認します。
```sql:dbqlrules.sql
SELECT * FROM DBC.DBQLRules;
```

返される結果は以下のようになります。

【Teradata Vantage17.20のDBQLRulesの参照例】
|UserName|AccountString|ApplName|TypeOfRule|ExplainFlag|ObjFlag|SqlFlag|StepFlag|XMLPlanFlag|StatsUsageFlag|Verbose|DetailedStats|NoColumns|SummaryFlag|ThresholdFlag|ObjectUsage|ParamFlag|FeatureUsage|UtilityInfoFlag|TextSizeLimit|SummaryVal1|SummaryVal2|SummaryVal3|LockDelay|AlgMode|TypeOfCriterion|DetailDiag|
|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|
|UserA|||Logging enabled|F|F|F|F|F|F|F|F|F|F|F|F|F|F|F|200|null|null|null|0|null|NO CRITERION|null|

UserNameカラムに対象ユーザが存在し、TypeOfRuleカラムがLogging enabled"となっていれば、クエリーログの取得ができている状態となります。
代表的なDBQLRulesの設定パラメータ、及び設定時の格納テーブル、参照ビューは以下となります。


|設定カラム|設定値|格納テーブル|ロギング内容|参照ビュー
|:-------|:--------|:--------|:-------|:-------|
TypeOfRule|Logging enabled：ロギング有効<br>WITH NONE：ロギング無効|DBQLogTbl |ロギングされている問合わせに関する情報を格納するメインのテーブル。|QryLogV
ExplainFlag|T:取得<br>F:未取得|DBQLExplainTbl|改行なし、書式なしのExplain情報を格納する。|QryLogExplainV
ObjFlag|T:取得<br>F:未取得|DBQLObjTbl|ログ対象となっている問合わせのターゲット オブジェクトに関する情報を格納する。問合わせで参照されている各オブジェクトごとに1行が記録される。|QryLogObjectsV
SqlFlag|T:取得<br>F:未取得|DBQLSqlTbl|問合わせのSQLテキスト全体を格納する。1つの問合わせ文字列につき複数行が必要な場合もある。|QryLogSQLV
StepFlag|T:取得<br>F:未取得|DBQLStepTbl|問合わせの実行に使用される各処理ステップに関する情報を保存する。並列ステップを含む各ステップにつき1行が記録される。|QryLogStepsV

設定値の詳細内容は以下ドキュメントを参照してください。
[Teradata Vantage - データベースの管理（クエリーロギング DBQL）](https://docs.teradata.com/access/sources/dita/topic?%20dita:mapPath=rgu1556127906220.ditamap&dita:ditavalPath=lze1555437562152.ditaval&dita:topicPath=irs1472240544664.dita)



# クエリーログの取得設定を行う。

## 1.DBQLRulesに新規にロギングルールを追加する場合。(BEGIN QUERY LOGGING構文)

```sql:Begin_Query_Logging.sql
BEGIN QUERY LOGGING [ WITH with_item [,...] ] ON ユーザ名;
[]はオプション
with_itemはEXPLAIN,OBJECTS,SQL,STEPINFOなどを指定。
```

### 例1.UserAのDBQLロギングをオプション無しで開始する。
```sql:Begin_Query_Logging1.sql
BEGIN QUERY LOGGING ON UserA;
```

### 例2.UserBについてロギング開始。STEPINFO, OBJECTSの情報も格納させる。
```sql:Begin_Query_Logging2.sql
BEGIN QUERY LOGGING WITH STEPINFO, OBJECTS ON UserB;
```


## 2.DBQLRulesの既存のロギングルールを編集する場合。(REPLACE QUERY LOGGING構文)

```sql:Replace_Query_Logging.sql
REPLACE QUERY LOGGING [ WITH with_item [,...] ] ON ユーザ名;
```

### 例1.UserAのDBQLロギングについてSQL詳細情報（SQL文の文字列長の制約無し）を取得する。
```sql:Replace_Query_Logging1.sql
REPLACE QUERY LOGGING WITH SQL ON UserA;
```

### 例2.UserBについてDBQLogTblへのロギング、STEPINFO, OBJECTSの情報格納と合わせてEXPLAINの情報も格納させるよう追加する。

```sql:Replace_Query_Logging2.sql
REPLACE QUERY LOGGING WITH STEPINFO, OBJECTS , EXPLAIN ON UserB;
```


## 3.DBQLrulesのロギングルールを削除する場合。(END  QUERY LOGGING構文)

```sql:End_Query_Logging.sql
END QUERY LOGGING ON ユーザ名;
```

### 例1.UserAのロギングルールを削除する。
```sql:End_Query_Logging1.sql
END QUERY LOGGING ON UserA;
```

# クエリーログの参照を行う。

### データベース クエリー ログの参照ビューQryLogVを参照する。

### 例1.ログ取得日時が2022年7月内でエラーとなったSQLのSQL開始時間、実行ユーザ、エラーコード、クエリー内容を特定する。
```sql:QryLogV_Select1.sql
SELECT StartTime,UserName,ErrorCode,QueryText
FROM dbc.QryLogV
WHERE
CollectTimeStamp >='2022-07-01 00:00:00' AND
CollectTimeStamp  <'2022-08-01 00:00:00' AND
ErrorCode<>0;
```

|StartTime|UserName|ErrorCode|QueryText
|:---------|:---------|:---------|:---------|
2022/07/22  15:18:52|UserA|6706|Insert into TblA Select * From TblB;
2022/07/18  1:02:34|UserB|3807|Select C1,C2,C3 From TblC Where C4=xxx; 


### 例2.2022年8月12日の10時台でCPU負荷が高い順に、ログ取得時間、実行ユーザ、CPU時間、クエリー内容を特定する。
```sql:QryLogV_Select2.sql
SELECT CollectTimeStamp,UserName,AMPCPUTime,QueryText
FROM dbc.QryLogV
WHERE
CollectTimeStamp >='2022-08-12 10:00:00' AND
CollectTimeStamp  <'2022-08-12 11:00:00' 
ORDER BY AMPCPUTime DESC;
```

|CollectTimeStamp|UserName|AMPCPUTime|QueryText
|:---------|:---------|:---------|:---------|
2022/07/12  10:50:03|UserA|1005|Insert Into TblA Select C1,C2 From TblB;
2022/07/12  10:57:30|UserE|614|Update TblC Where C1=xxx;
2022/07/12  10:47:01|UserA|270|Select * From TblD Where C3=yyy;
2022/07/12  10:27:51|UserB|252|Select C4,C5,C6 From TblE;
2022/07/12  10:35:44|UserC|251|Select C7,C8 From TblF;
・・・|・・・|・・・|・・・


## QryLogV表示内容（Teradata Vantage17.20）
|列名|内容
|:---------|:---------|
ProcID|ディスパッチャのプロセス ID を返します。
CollectTimeStamp|(プライマリ キー) DBQLogキャッシュが割り当てられた日時。
QueryID|クエリーを識別するためにシステム全体で固有 ID を返します。
UserID|ユーザーの ID を返します。
UserName|クエリーを発行したユーザーの名前を返します。
DefaultDatabase|クエリーで使われる現在のデフォルト データベースの名前を返します。
AcctString|ユーザーがクエリーを発行した拡張アカウント文字列。
ExpandAcctString|ユーザーの拡張ログオン列を返します。
SessionID|セッションの固有の識別番号を返します。
LogicalHostID|記録されるクエリーのログオン元の固有識別子を返します。値 0 は内部セッションを意味します。
RequestNum|すべてのクエリーのクライアント リクエスト番号。ストアド プロシージャ CALL 文内の文の場合、リクエスト番号は CALL と同じです。
InternalRequestNum|データベース システムで使用される内部リクエスト番号を返します。
TxnUniq|ProcId で使用されるトランザクション固有の部分。
LockLevel|このリクエストに関連付けられた 高レベルのロック。
LogonDateTime|セッションにログオンされた日時を返します。
AcctStringTime|ユーザーが拡張アカウント文字列(ASE)を指定したときの&T コードの結果を返します。
AcctStringHour|ユーザーが拡張アカウント文字列(ASE)を指定したときの&H コードの結果を返します。
AcctStringDate|ユーザーが拡張アカウント文字列(ASE)を指定したときの&D コードの結果を返します。
LogonSource|ログオン ソース文字列テキストを返します。
AppID|アプリケーション ID を返します。
ClientID|クライアント ID を返します。
ClientAddr|実行依頼されたクエリーのクライアント アドレス。
QueryBand|クエリーが実行依頼されたバンドを返します。
ProfileID|システムのコスト プロファイルインスタンスに割り当てられている固有番号を返します。
StartTime|クエリーが実行依頼された時間を返します。
TDWMAdmissionTime|ワークロード管理によってリクエストがシステムに入り込むことが許可される時刻(ARM 処理後)。
FirstStepTime|このクエリーの 初のステップがディスパッチされた時間を返します。
FirstRespTime|初の応答がホストに送信された時間。
ElapsedTime|初の応答時間と開始時間の差を返します。
NumSteps|このクエリーの(レベル 1)ステップの合計数を返します。
NumJoinSteps|リクエスト内の結合ステップの数。
NumSumSteps|リクエスト内の合計ステップの数。
NumStepswPar|並列ステップを持つ(レベル 1)ステップの数を返します。
MaxStepsInPar|このクエリーに関して並列的に行なわれる(レベル 2)ステップの大数を返します。
NumResultRows|クエリーで返された総行数を返します。
NumResultOneMBRows|クエリーに返される一連の行内の1MB 行(1MB > size > 64KB)の数。
MaxOneMBRowSize|クエリーで返される一連の行における 大 1MB 行の実際のバイト数。
TotalIOCount|クエリーで生成された AMP の IO の数を返します。
AMPCPUTime|このクエリーで使用される AMPCPU 合計時間(秒)。
ParserCPUTime|クエリーに使用された構文解析プログラムとディスパッチャの合計 CPU 時間(秒)を返します。
UtilityByteCount|FastLoad ジョブまたはMultiLoad ジョブの一部としてクライアントで転送されたバイト数。
UtilityRowCount|FastLoad または MultiLoad で読み込まれた行数を返します。
ErrorCode|クエリーが原因で構文解析プログラムのエラーが発生した場合にエラー コードを返します。
ErrorText|ErrorCode が 0 でない場合のエラーのテキストを返します。
WarningOnly|警告モードで TDWM の実行中にエラーが報告された場合、またはまったくログに記録されていない場合は、警告コード T に true を返します。WarningOnly が true でない場合は、フィールドにNULL があります。
AbortFlag|このクエリーがアボートされた場合に T(yes)を返します。
CacheFlag|このフィールドは、クエリーがステップ キャッシュにない場合は空白です。使用可能な値は T、G、S、A です。
StatementType|クエリーで実行された文のタイプ。複数文リクエストの 後の文のタイプ。
StatementGroup|DDL、DML、または SELECT 文のいずれであるかに関わらず、クエリーのグループを返します。複文リクエストの場合、この値はリクエスト内のさまざまな文の種類の数を示します。
QueryText|クエリー テキストを返します。デフォルトのサイズは 200 文字です。
NumOfActiveAMPs|このクエリーでアクティブなAMP の数を返します。
MaxAMPCPUTime|クエリーで CPU 使用率が も高かった AMP の CPU 時間(秒)を返します。
MaxCPUAmpNumber|CPU 使用率が も高かった AMP 番号を返します。
MinAmpCPUTime|ステップで CPU 使用率が も低かった AMP の CPU 時間(秒)を返します。
MaxAmpIO|(HotAmpIO から名前変更)ステップで I/O 利用率が も高かったAMP を返します。
MaxIOAmpNumber|ステップで I/O 使用量が も高かった AMP 番号を返します。
MinAmpIO|(LowAmpIO から名前変更)クエリーで I/O が も低かった I/O カウントを返します。
SpoolUsage|クエリー内の任意のステップのピーク スプール使用量(バイト)(DataCollectAlg = 3)。それ以外の場合、クエリーでスプールに使用されたバイト数。
LSN|ロード ユーティリティに使用したログオン シーケンス番号を返します。
EstResultRows|このクエリーで返される行の推定数。
EstProcTime|EstProcTime は、 適化ルーチンからの推定処理秒数(0.001 秒単位)を返します。
EstMaxStepTime|適化ルーチンからの 大ステップ推定時間(秒)。
EstMaxRowCount|このクエリーのステップの 大推定行数。
TDWMEstMemUsage|大ステップの 大推定メモリ(MB)。
AMPCPUTimeNorm|共存システムの正規化されたAMP CPU 時間(秒)を返します。
ParserCPUTimeNorm|共存システムの正規化された構文解析プログラム CPU 時間(秒) を返します。
MaxAMPCPUTimeNorm|MaxAMPCPUTimeNorm は、クエリー内で CPU 使用率が大のAMP の正規化された CPU 時間を秒単位(0.001 の精度)で返します。
MaxCPUAmpNumberNorm|CPU 使用率が も高かった AMP 番号を返します。
MinAmpCPUTimeNorm|MinAmpCPUTimeNorm は、クエリー内で CPU 使用率が小のAMP の正規化された AMP CPU 時間を秒単位(0.001 の精度)で返します。
ParserExpReq|構文解析プログラムが高速リクエスト時に待機した秒数を返します。
ProxyUser|プロキシ ユーザーの名前を返します。
ProxyRole|クエリーに使用されるプロキシロール。
SessionTemporalQualifier|DBC.QryLogV.SessionTemporalQualifier は、SQL ストアドとは別のセッションでセッション テンポラル修飾子を記録します。
CalendarName|DBC.QryLogV.CalendarNameは、セッションに設定されたカレンダ名を記録します。
CPUDecayLevel|任意の 1 つのノードでの CPU 使用率が到達した も重大な低下レベルが含まれます。
IODecayLevel|任意の 1 つのノードでの IO 使用率が到達した も重大な低下レベルが含まれます。
TacticalCPUException|CPU 例外があったノードの総数。
TacticalIOException|IO 例外があったノードの総数。
SeqRespTime|すべてのステップが順に実行されたと仮定した場合の、応答時間の合計秒数が含まれます。
ReqIOKB|リクエストの論理 IO 使用量の合計キロバイト数。
ReqPhysIO|リクエストの物理 I/O 数。
ReqPhysIOKB|リクエストの物理 IO 使用量の合計キロバイト数。
DataCollectAlg|DBQL が使用する CPU/IO 収集アルゴリズムを返します。使用可能な値には、1(従来のアルゴリズム) が含まれます。
CallNestingLevel|リクエストがストアド プロシージャで実行されるときの入れ子レベル。
NumRequestCtx|セッションと関連付けられたリクエスト コンテキスト数。
KeepFlag|これは値(Y)または(N)のフラグで、クライアントの応答の必要がなくなるまで応答パーセルを保持する必要があることを示します。
QueryRedriven|これは値(Y)または(N)のフラグで、クエリーが再実行されたかどうかを示します。
ReDriveKind|クエリーが再実行されたときのリセット保護のタイプが含まれます。(MN)-メモリの非フォールバック応答、(DF)-ディクショナリテーブルのフォールバック応答、(DN)-ディクショナリ テーブル非フォールバック応答。
LastRespTime|リクエストの終了、ホスト/クライアント応答フェーズの終了(該当する場合) (DataCollectAlg = 3)。
DisCPUTime|このクエリーのディスパッチャで使用される CPU 秒数。
Statements|リクエスト内の文の数。
DisCPUTimeNorm|このクエリーのディスパッチャで使用される正規化 CPU 秒数。
TxnMode|このクエリーのトランザクション モード(ANSI、BTET)。
RequestMode|このクエリーのリクエスト モード: Prep - 準備クエリーのみ。PrepS - 準備クエリーのみ、パラメータ化 SQL。Exec - クエリーの実行。Both - 準備と実行クエリー。
DBQLStatus|内部 DBQL ロギング ステータス。
NumFragments|リクエストの IPE 計画実行のフラグメント数。
VHLogicalIO|リクエスト全体で Very Hot な論理 I/O の総数。
VHPhysIO|リクエスト全体で Very Hot な物理 I/O の総数。
VHLogicalIOKB|リクエスト全体で Very Hot な論理 I/O の総キロバイト数。
VHPhysIOKB|リクエスト全体で Very Hot な物理 I/O の総キロバイト数。
LockDelay|オブジェクトにロックを設定する 大待機時間(100 分の 1 秒単位)。
CheckpointNum|MLOADX のチェックポイント間隔番号。
UnityTime|ストアド プロシージャ リクエストが Unity によって処理された時間(秒単位)。
UtilityInfoAvailable|リクエストに DBQLUtilityTblテーブルで利用可能なユーティリティ情報が含まれるかどうかを示します。
UnitySQL|Y - Unity が SQL の変更をリクエストしたことを示します。Unity が Unity トランザクション テーブルを更新するようにリクエストしたときに設定されます。
ThrottleBypassed|リクエストが TDWM のThrottleBypass 機能によってのみ実行が可能だったどうかを返します。
FlexThrottle|フラグ'T'は、Flex Throttle 機能により、このクエリーが TDWM 遅延キューから解放されたことを示します。
IterationCount|リクエストに関連するデータパーセルの反復回数。
TTGranularity|セッションで設定されたトランザクション時間粒度名を記録します。
MaxStepMemory|リクエストのいずれかのステップで使用される 大メモリ(MB)。
TotalServerByteCount|外部サーバーから送受信された合計バイト数。
PersistentSpool|SpoolUsage の固定部分。
RemoteQuery|フラグ'T'は、リモート クエリーが実行依頼されたことを示します。
ProxyUserID|プロキシ ユーザーが永久ユーザーの場合、プロキシ ユーザーの内部 ID を返します。
DelayTime|ワークロード管理によってクエリーが遅延した秒数を返します。
TDWMRuleID|クエリーのルール識別子を返します。
MinRespHoldTime|小応答時間に適合するように応答が保持された秒数。
TotalFirstRespTime|遅延時間+実行時間+ 小応答時間(秒)
ParamQuery|フラグ'T'は、クエリーがパラメータ化されていることを示します。
ProfileName|ユーザーがクエリーを実行依頼したときのプロファイル名(存在する場合)を返します。
WDName|クエリーに割り当てられたワークロード定義(WD)名を返します。
MaxNumMapAMPs|リクエストで使用された 大連続マップの AMP の数を返します。
MinNumMapAMPs|このリクエストで使用された小連続マップの AMP の数。
SysDefNumMapAMPs|システム デフォルト マップのAMP の数。
UsedIota|リクエストで使用される IO トークンを返します。
ImpactSpool|リクエストによるシステム レベルのスプールへの影響。
AutoDBAData|値は、リクエストに AutoDBA データが含まれているかどうかを示します。
UAFName|EXECUTE FUNCTION によって実行される分析関数の名前。デフォルトは NULL。
UnityQueryType|リプレイされた SQL かまたはCDA かを示します。
DefaultDBCacheUsed|値「T」はステップ キャッシュのデフォルトの DB 部分が使用されたことを示す。それ以外の場合は「F」。リクエストがキャッシュされなかった場合は NULL。
ReqAWTTime|リクエストの AWT 経過秒数を返します。
MaxReqAwtTime|リクエストの 大 AWT 経過秒数を返します。
MaxReqAWTTimeAmpNum|リクエストの 大 AWTTime を持つ AMP 番号を返します。
MinReqAWTTime|リクエストの 小 AWT 経過秒数を返します。
UDFVMData|リクエストの UDF 仮想メモリデータ サイズ。
UDFVMPeak|リクエストの UDF 仮想メモリピーク。
TotalUDFMemUsage|リクエスト用に UDF が使用するメモリの合計(バイト単位)。
MaxReqUDFMemUsage|リクエスト用に UDF が使用する大メモリ(バイト単位)。
MaxReqUDFMemUsageAmpNum|このリクエスト用に UDF が使用する 大メモリを持つ AMP 番号。
PGRCTimeToGetPlan|パーティション化されたグローバル リクエスト キャッシュ機能がオンの場合に、ターゲット PE からの計画取得のために、キャッシュ管理スレッドとセッションスレッド間で通信する際の所要時間。
PGRCTgtPENum|PGRC 機能が ON の場合に、このリクエストの PSTEPS を保持するターゲット PE 番号を返します。
NosRecordsReturned|Native Object Store リクエストによって返されたレコードの数。
NosRecordsSkipped|Native Object Store リクエストによってスキップされたレコードの数。
NosPhysReadIO|Native Object Store ファイルの物理読み取り IO の合計。
NosPhysReadIOKB|Native Object Store ファイルの物理読み取り IO の合計(KB)。
NosRecordsReturnedKB|Native Object Store ファイルについて返されたレコードの合計(KB)。
NosTotalIOWaitTime|リクエストでの Native Object Store IO の待機時間の合計(秒)。
NosMaxIOWaitTime|リクエストでの Native Object Store IO の 大待機時間(秒)。
NosCPUTime|リクエストの Native Object Storeファイルを読み取るための CPU 時間(秒)。この時間は、他のNOS CPU 以外のフィールドにすでに含まれています。
NosTables|リクエストでアクセスされたNative Object Store テーブルの総数。READ_NOS を介してアクセスすると、他の NOS フィールドはインクリメントされますが、このフィールドはインクリメントされないので注意してください。
NosFiles|このリクエストで、Native Object Store ファイルの読み取りが試行された回数。
NosFilesSkipped|スキップされた Native Object Store ファイルの数。
StepCacheHash|キャッシュされている場合は、このリクエストのステップ キャッシュのハッシュ値。それ以外の場合は NULL。
ResponseTimeMet|クエリーがワークロード定義の目標サービス レベルを満たしている場合は T。
TDWMMSRCount|リクエストで BT、ET、コミット、マクロ、実体化された Tmp テーブル、および Null 文を除いた、文の数。
DeferTime|ARM ルールにより、ワークロード管理によってクエリーが遅延した秒数。
DeferRuleID|このリクエストを遅延する原因となった ARM ルールの 1 つである TDWM ルール ID。
StmtDMLRowCount|DML (挿入、更新、または削除)文の行数を返します。
UnityQueryForeignInfo|UnityForeignQueryID および UnityForeignSystemID
MaxPSFWDID|このリクエストで確認される大 PSF WDID。
MaxPSFWDIDAmpNum|このリクエストの 大 PSF WDIDAMP 番号。
ReqPeakAmpPrvMem|リクエスト内のいずれかの AMP で使用される、要求サイズに基づく専用メモリの合計ピーク(MB 単位)。
ReqPeakAmpPrvMemAmpNum|リクエストで使用された要求サイズに基づく専用メモリの合計ピークを報告した AMP 番号。
ReqPeakAmpShrMem|リクエスト内のいずれかの AMP で使用される、要求サイズに基づく共有メモリの合計ピーク(MB 単位)。
ReqPeakAmpShrMemAmpNum|リクエストで使用された要求サイズに基づく共有メモリの合計ピークを報告した AMP 番号。
NosPhysWriteIO|このリクエストでの Native Object Store ファイルの物理的な書き込み IO 数の合計。
NosPhysWriteIOKB|このリクエストでの Native Object Store ファイルの物理的な書き込み IO の KB 合計。
NosFilesWritten|このリクエストで Native Object Store が試行したファイル書き込み回数。
ReqPhysLocIO|リクエストのローカル物理 IO の合計数。
ReqPhysLocIOKB|リクエストのローカル物理 IO の合計(キロバイト単位)。
ReqLocSpoolUsage|リクエストの SpoolUsage のローカル スプール使用量部分(バイト単位)。
TDWMEstMemResLimit|メモリ リソース制限を検証するメモリ見積もり(メガバイト単位)。
HPTotalPipelines|計画内でパイプラインを使用して処理されているステップの合計数。
HPMaxPipelines|パイプライン ユニットでの 大ステップ数は、クエリーを処理するために多くの AWT が必要になることを示します。



QryLogV、QryLogExplainV、QryLogObjectsV、QryLogSQLV、QryLogStepsV参照ビューの内容については以下ドキュメントを参照して下さい。
[Teradata Vantage - データディクショナリ](https://docs.teradata.com/r/kdu1baKMqS8fa5uN9SsThQ/root)



# クエリーログのメンテナンス

クエリーログは自動的に削除されませんので、定期的にデータの削除を行い、
データベースの容量オーバーにならないようにしてください。

### 削除SQLの例（現在から3か月以上前のログデータを削除）

```sql:DBql_Delete.sql
DELETE FROM dbc.DBQLogTbl
WHERE CAST(CollectTimeStamp AS DATE) < ADD_MONTHS(CURRENT_DATE, -3)
```