BEGIN QUERY LOGGINGの制限オプション - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

BEGIN QUERY LOGGINGのSQLTEXTオプションの情報を以下の表にまとめます。

オプション 定義
SQLTEXT[=n] デフォルト行でログに記録するSQLテキストの最大文字数を設定します。デフォルト値は200です。

負の値を指定することはできません。0を指定すると、ログに1文字も記録されなくなります。

ログに記録する文字数を制限する数値を指定しないでSQLTEXTを指定した場合は、10,000文字を上限として、SQLリクエスト全体がDBC.DBQLogTblに記録されます。リクエストの文字数が10,000を超えている場合は、超過分の文字が記録されません。

ALLまたはSQLを指定するときに、SQLTEXTも指定すると、SQLテキストがDBC.DBQLogTblDBC.DBQLSqlTblの両方に重複して記録されます。

ALLとSQLTEXTの両方を指定しないようにしてください。ALLを指定する場合は、SQLTEXTの値を0に指定します。この値を指定しないと、SQLテキストがDBC.DBQLogTblテーブルとDBC.DBQLSqlTblテーブルの両方に重複して記録されます。

BEGIN QUERY LOGGINGのSUMMARYオプションの情報を以下の表にまとめます。

オプション 定義
SUMMARY=n1,n2,n3 短いOLTPスタイルのクエリーで使用します。

SUMMARYを指定すれば、実行時間の短い大量のクエリーに関する収集のオーバーヘッドを小さくすることができます。さらに、ELAPSEDTIME、CPUUSAGE、IOCOUNTのいずれかの単位も指定できます。

セッションごとに、4つの時間間隔またはカウント範囲のそれぞれに該当するリクエストの数をカウントします。間隔の値は、CPU時間、正規化CPU時間、経過時間(秒)、経過時間(0.01秒)、入出力回数のいずれかで指定できます。

サマリーの間隔の単位を指定しない場合は、デフォルトで経過時間(秒)が使用されます。

SUMMARYを指定する場合は、他のどんなオプションも指定できません。

最初の3つの間隔は明示的に指定する必要があります。4番目の間隔はデフォルトで作成されます。

  • 最初の間隔の範囲は、0秒からn1秒です。
  • 2番目の間隔の範囲は、n1秒からn2秒です。
  • 3番目の間隔の範囲は、n2秒からn3秒です。
  • 4番目の間隔の範囲は、n3秒より長くなります。

それぞれの間隔のカウントは、QueryCountの4つの行のDBC.DBQLSummaryTbl列に格納されます。

SUMMARYは、システム定義の間隔で周期的にキャッシュがフラッシュされる唯一のオプションです。

有効なSUMMARYオプション修飾子の情報を以下の表にまとめます。

SUMMARYオプション修飾子 説明
CPUTIME 範囲を設定して、CPU時間の間隔に該当するリクエストのカウント数をまとめる場合に、このオプションを使用します。

SUMMARYの値は、0.01秒単位になります。

例えば、いずれかの間隔で500を指定すると、その区切りになる値は、CPU時間5秒になります。

CPUTIMENORM 範囲を設定して、正規化CPU時間の間隔に該当するリクエストのカウント数をまとめる場合に、このオプションを使用します。

このオプションの本来の意図は、共存システムで混合ノードの管理を効率化することにありますが、どのシステムで使用してもかまいません。

SUMMARYの値は、0.01秒単位になります。

ELAPSEDSEC 範囲を設定して、経過時間の間隔に該当するリクエストのカウント数をまとめる場合に、このオプションを使用します。

SUMMARYの値は、1.00秒単位になります。

これは、デフォルトです。

ELAPSEDTIME 範囲を設定して、経過時間の間隔に該当するリクエストのカウント数をまとめる場合に、このオプションを使用します。

SUMMARYの値が0.01秒単位になるので、ELAPSEDSECの場合よりも経過時間を細かく設定できます。

IOCOUNT 範囲を設定して、入出力回数の間隔に該当するリクエストのカウント数をまとめる場合に、このオプションを使用します。

BEGIN QUERY LOGGINGのTHRESHOLDオプションの情報を以下の表にまとめます。

オプション 定義
THRESHOLD[=n] クエリーの完全なログを記録するのか、クエリーをカウントするだけにするのかを決めるためのしきい値を設定します(オプションの値nでは、そのしきい値の秒数または入出力回数の単位値を指定します)。そのしきい値を超えるクエリーはログに記録され、そのしきい値に合致しないクエリーは記録されません。

THRESHOLDを指定すれば、実行時間の短い大量のクエリーに関する収集のオーバーヘッドを小さくすることができます。さらに、ELAPSEDTIME、CPUUSAGE、IOCOUNTのいずれかの単位も指定できます。

THRESHOLD制限オプションは、SQL、STEPINFO、OBJECTSの各ロギング オプションと一緒に指定できます。

THRESHOLD制限オプションは、ALL、EXPLAIN、 STATSUSAGE、またはXMLPLANの各ロギング オプションとは一緒に指定できません

しきい値オプション修飾子によってロギングの単位を指定しない場合は、デフォルトで経過時間(秒)が使用されます。

THRESHOLDの制限もSUMMARYも指定しなければ、すべてのクエリーのログが完全に記録されます。

時間のしきい値だけに当てはまる制約事項を以下にまとめます。

  • クエリーの完了までの時間が、定義したしきい値の時間以下の場合は、ログとしてカウントだけがDBC.DBQLSummaryTblに記録されます。DBC.DBQLSummaryTblのしきい値行は、HighHist列が0になっている行です。
  • クエリーの完了までの時間が、定義したしきい値の時間より長い場合は、そのクエリーに関する完全な項目がDBC.DBQLogTblに記録され、SQL、STEPINFO、OBJECTSの各オプションを指定した場合は、行のすべての列に値が入ります。
  • THRESHOLDを指定するときに、nの値を指定しなければ、デフォルトで5秒の値が割り当てられます。
  • nの最大値は、4,294,967,295秒(約1,193,046時間)です。

入出力回数のしきい値だけに当てはまる制約事項を以下に示します。

  • nの最大値(入出力回数)は、32,767です。

有効なTHRESHOLDオプション修飾子の一覧とその説明については、次のページを参照してください。

有効なTHRESHOLDオプション修飾子の情報を以下の表にまとめます。

THRESHOLDオプション修飾子 説明
CPUTIME しきい値に値nを指定しない場合は、デフォルトのCPUTIME値であるCPU時間0.05秒が使用されます。

THRESHOLDの値は、0.01秒単位になります。

例えば、500を指定すると、その区切りになる値は、CPU時間5秒になります。

CPUTIMENORM このオプションの本来の意図は、共存システムで混合ノードの管理を効率化することにあります。

THRESHOLDの値は、0.01秒単位になります。

ELAPSEDSEC THRESHOLDの値は、1.00秒単位になります。

これは、デフォルトです。

ELAPSEDTIME THRESHOLDの値が0.01秒単位になるので、ELAPSEDSECの場合よりも経過時間を細かく設定できます。
IOCOUNT THRESHOLDの値nを指定しない場合は、デフォルトのIOCOUNT値である5が使用されます。