17.00 - 17.05 - QuerySteps - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLリクエストおよびトランザクション処理

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
ユーザー ガイド
Publication ID
B035-1142-170K-JPN
Language
日本語 (日本)

QueryStepsの機能

このテーブルの各行には、システムによって実行されたリクエストに対応するあらゆるステップの属性がリストされます。ステップに複数の属性がある場合には、そのステップに対して複数の行が格納されます。その行セットは共通のStepIDおよびQueryID値によって関連付けられます。この場合、個々の行は、その行タイプ コードによって区別されます。

QueryStepsテーブルの定義

次のCREATE TABLEリクエストは、QueryStepsテーブルを定義しています。

   CREATE TABLE QuerySteps (
     StepID             INTEGER NOT NULL,
     QueryID            INTEGER NOT NULL,
     StepNum            INTEGER,
     ParallelStepNum    INTEGER DEFAULT 0,
     StepText           VARCHAR(32000) CHARACTER SET LATIN
                        NOT CASESPECIFIC,
     RowType            CHARACTER(1) CHARACTER SET LATIN
                        NOT CASESPECIFIC NOT NULL,
     StepKind           CHARACTER(2) CHARACTER SET LATIN
                        NOT CASESPECIFIC,
     ParallelKind       CHARACTER(1) CHARACTER SET LATIN
                        NOT CASESPECIFIC,
     AMPUsage           CHARACTER(1) CHARACTER SET LATIN
                        NOT CASESPECIFIC,
     TriggerType        CHARACTER(1) CHARACTER SET LATIN
                        NOT CASESPECIFIC,
     EstCPUCost         FLOAT,
     EstIOCost          FLOAT,
     EstNetworkCost     FLOAT,
     EstHRCost          FLOAT
     Cost               FLOAT,
     MaxCost            FLOAT,
     SourceRelation1    INTEGER,
     SourceRelation2    INTEGER,
     TargetRelation1    INTEGER,
     TargetRelation2    INTEGER,
     StepAttributeType  CHARACTER(10) CHARACTER SET LATIN
                        NOT CASESPECIFIC,
     StepAttributeValue VARCHAR(100) CHARACTER SET LATIN
                        NOT CASESPECIFIC,
     LockType           CHARACTER(1) CHARACTER SET LATIN
                        NOT CASESPECIFIC,
     RowHashFlag        CHARACTER(1) CHARACTER SET LATIN
                        NOT CASESPECIFIC,
     NoWaitFlag         CHARACTER(1) CHARACTER SET LATIN
                        NOT CASESPECIFIC
     Cardinality        DECIMAL(18,0) DEFAULT 0,
     IndexMaintCostEst  FLOAT DEFAULT 0)
   PRIMARY INDEX (QueryID)
   INDEX SK_StepID (StepID);

QueryStepsの属性の定義

次のテーブルは、QueryStepsテーブル属性を定義しています。

属性 定義
StepID
  • ステップの固有識別子。
  • このテーブルのNUSI。
QueryID
  • 問合わせの固有識別子。
  • このテーブルのNUPI。
StepNum このQuerySteps行でテキストが報告されるステップの番号。
  • ステップが並列に実行されない場合、StepNumはステップ番号を示す。
  • ステップが並列に実行される場合、StepNumはメイン ステップの番号を示す。
ParallelStepNum このQuerySteps行でテキストが報告される並列ステップの番号。
  • ステップが並列に実行されない場合、ParallelStepNumは0。
  • ステップが並列に実行される場合、ParallelStepNumは並列ステップの番号。
StepText ステップを記述するテキストを格納する。
RowType この行がどのタイプの詳細事項を表わすかを記述する。
  • Aの場合、行はクエリー計画のステップの最初の行(RowTypeのコードはG)に記述されない、このステップの属性を記述する。

    追加の属性は、StepAttributeTypeおよびStepAttributeValue列によって記述されます。 行タイプAの残りの列は、nullに設定されます。

  • Gの場合、行は問合わせ計画の特定ステップの、最初の行のステップ情報を記述する。

    すべてのステップには、このタイプの行が1行存在します。

StepKind この行によって示されるステップの種類を記述する。
  • ABはアボート ステップ。
  • AFはAllRowsOneAMPメモリ内ハッシュ結合フライ ステップ。
  • AHはAllRowsOneAMPメモリ内ハッシュ結合ステップ。
  • BMはビットマップ ステップ。
  • CEは相関包含マージ結合ステップ。
  • CIは相関排他プロダクト ジョイン ステップ。
  • CJは相関結合ステップ。 Melコメント: 何回試行してもDR 178936 TEXTが確認または承認されない
  • CPは相関排他マージ結合ステップ。
  • DEは削除ステップ。
  • EFは排他動的ハッシュ結合ステップ。 Melコメント: 何回試行してもDR 178936 TEXTが確認または承認されない
  • EHは排他ハッシュ結合ステップ。
  • EJは存在結合ステップ。
  • EMは排他マージ結合ステップ。
  • EPは排他プロダクト ジョイン ステップ。
  • FDはデータベース フラッシュ ステップ。
  • HFは動的ハッシュ結合ステップ。
  • HJはハッシュ星型結合ステップ。
  • HSはハッシュ結合ステップ。
  • IFは包含動的ハッシュ結合ステップ。 Melコメント: 何回試行してもTEXTが確認または承認されない
  • IHは包含ハッシュ結合ステップ。
  • IJは交差全結合ステップ。
  • IMは包含マージ結合ステップ。
  • INは挿入ステップ。
  • IPは包含プロダクト ジョイン ステップ。
  • LKはロック ステップ。
  • MDはマージ削除ステップ。
  • MFはメモリ内ハッシュ フライ結合
  • MGはマージ ステップ。
  • MHはメモリ内ハッシュ結合
  • MIはMinus All結合ステップ。
  • MJはマージ結合ステップ。
  • MRはMerge Intoステップ。 Melコメント: 何回試行してもDR 178936 TEXTが確認または承認されない
  • MSはその他のステップ。

    MSコードは、他のStepKindコードで表わされていないタイプのステップを表わします。

  • MTは一時テーブル実体化ステップ。
  • MUはマージ更新ステップ。
  • NJは入れ子結合ステップ。
  • OJはNOT EXISTS結合
  • PJはプロダクト ジョイン ステップ。
  • RJは行ID結合ステップ。
  • SAはサンプル ステップ。
  • SOはソート ステップ。
  • SPは廃棄ステップ。
  • SRは単一検索ステップ。
  • STは統計ステップ。
  • SUは合計検索ステップ。
  • UPは更新ステップ。
  • USはアップサート ステップ。
ParallelKind ステップが前のステップと並列に実行できるかどうかを記述する。
  • Bは開始並列ステップ。
  • Eは終了並列ステップ。
  • Pは並列ステップ。前のステップと並列して実行できる。
  • Sは逐次的に実行される非並列ステップ。前のステップと並列には実行できない。
AMPUsage このステップを処理するためにどのようにAMPを使用するかを記述する。
  • Aは全AMPの操作。
  • Gは、AMPのグループで操作されるステップ。
  • Oは、1-AMP操作のステップ。
  • Tは、2-AMP操作のステップ。
TriggerType このステップに関連したトリガーを記述する。
  • Cは、カスケードされたトリガー文。
  • Nは、この文にはトリガーが関係していないことを示す。
  • Rはトリガーされる文。
  • Tはトリガーする文。
EstCPUCost 最適化ルーチンによって見積もられる、そのステップのCPU時間(ミリ秒単位)。
EstIOCost 最適化ルーチンによって見積もられる、そのステップのI/Oサービス時間(ミリ秒単位)。
EstNetworkCost 最適化ルーチンによって見積もられる、そのステップのBYNETサービス時間(ミリ秒単位)。
EstHRCost 最適化ルーチンによって見積もられる、そのステップのその他のコスト(ミリ秒単位)。
Cost ミリ秒単位で表わした、このステップの実行の見積もりコスト。

EXPLAINレポートで生成される時間の見積もり値と同じように、Costの値は絶対的な時間値とは見なさないでください。むしろ、その他のコストの見積もり値に対する割合として評価される相対値と考えてください。

MaxCost このステップの実行の最悪の場合の見積もりコスト。
SourceRelation1 このステップの主なソース リレーションの番号。

例えば、ステップが結合ステップで、StepAttributeTypeがSingleRowLの場合、SourceRelation1は結合の左リレーションの番号です。

StepAttributeTypeがSingleRowRで、SourceRelation1がnullの場合、SourceRelation2には結合の右リレーションの番号が含まれます。

SourceRelation2 このステップの追加のソース リレーションの番号。
TargetRelation1 ステップ操作の結果生じる、またはステップ操作を行なうスプール ファイルあるいはテーブルの番号。
TargetRelation2 このステップの追加の結果を保持する追加のスプール ファイル(必要な場合)の番号。
StepAttributeType 行が表わす属性を示す。

StepAttributeType列にSnglPart、PartRg、またはAllPartsが含まれる場合、StepAttributeValue列は、LK StepKindにおけるそのようなロックの順序(1、2、...)を示します。

  • AllPartsは、Teradataがすべてのパーティションをロックすることを示します。RowHashFlagがTで、StepAttributeTypeがAllPartsである場合、それはRowHash-in-All-Partitionsロックを示します。
  • BeginRQは、再帰的ブロックの最初のステップで出現する。
  • EndRQは対応するBeginRQのステップ番号で、再帰的ブロックの最後のステップで出現する。
  • GlobalFlagには、合計(Sum)ステップを表わす次のコードがある。
    • Fは、フラグを設定しないことを示す。

      中間集約の結果はローカルに計算されます。

    • Tは、フラグを設定することを示す。

      中間集約の結果はグローバルに計算されます。

  • GroupKeyはグループ化列で、合計(Sum)ステップで出現する。
  • IndexNumはインデックス番号で、次のステップの任意ので出現し、インデックスが使用されたかどうかを示す。
    • アボート
    • ビットマップ
    • 削除
    • 単一検索
  • JoinTypeには次のコードがあり、結合ステップにおける結合タイプを表わす。
    • Fは、完全外部結合。
    • Iは、内部結合。
    • Lは、左外部結合。
    • Rは、右外部結合。
  • Kindには次のコードがあり、サンプルが行の小数で指定されるのか、サンプル ステップにおける行の絶対番号で指定されるのかを示す。
    • Fは、分画サンプル。
    • Iは、固定サンプル。
  • LeftIndexはインデックス番号。結合ステップ内で左リレーションが使用されると出現する。
  • MergeModeには次のコードがあり、併合削除ステップおよびマージ更新ステップに対して出現し、ステップ内で使用された併合タイプを示す。
    • Hは、行ハッシュ照合。
    • Rは、行ID照合。
    • Wは、行全体照合。
  • Multisrcは、現在のJOIN、SUM、またはRETステップがマルチソース ステップとして実行されたかどうかを示す。Multisrc問合わせステップのStepAttributeValue列にある値Tは、複数のJOIN、SUM、またはRETステップ(タイプはすべて同じだがソースが異なる)が、単一ステップの最適化として実行されたことを意味する。
  • PartCountは、ハッシュ結合に使用されるハッシュ組み合わせパーティションの数を表わし、ハッシュ結合ステップに対してのみ出現する。
  • PartRgは、Teradataがパーティション範囲をロックすることを示している。RowHashFlagがTで、StepAttributeTypeがPartRgである場合、これはRowHash-in-Partition-Rangeロックであることを示している。
  • RightIndexはインデックス番号。結合ステップ内で右リレーションが使用されると出現する。
  • SnglPartは、Teradataが単一パーティションをロックすることを示している。RowHashFlagがTで、StepAttributeTypeがSnglPartである場合、それはRowKeyロック、つまり、RowHash-in-Single-Partitionロックであることを示している。
  • SingleRowLは、DUMP EXPLAINまたはINSERT EXPLAIN操作の間に単一行の最適化が結合ステップの左リレーションに適用されたかどうかを示す。
    • 左リレーションの名前が入手可能な場合、StepAttributeValueには、その名前が入る。
    • 左リレーションの名前が入手できない場合、StepAttributeValueはnull。
  • SingleRowRは、DUMP EXPLAINまたはINSERT EXPLAIN操作の間に単一行の最適化が結合ステップの右リレーションに適用されたかどうかを示す。
    • 右リレーションの名前が入手可能な場合、StepAttributeValueには、その名前が入る。
    • 右リレーションの名前が入手できない場合、StepAttributeValueはnull。
  • SMSKindは次のタイプのうちの1つを表わし、実行されたセット操作のビットマップ(BitMap)ステップに対して出現する。次のタイプがある。
    • 交差
    • マイナス
    • 合併
  • SourceIndexはインデックス番号を表わし、開始(Stat)ステップ内のソース リレーションでインデックスが使用されると出現する。
  • StatOptは、Stat関数ステップで次の最適化のうちどれが使用されたかを表わす。
    • Lは、ロード分散の最適化。
    • Sは、単一AMPの最適化。
    • Svalueはサンプル サイズを表わし、サンプル(Sample)ステップで出現する。
    • TableIndexはインデックス番号を表わし、更新ステップで出現してこのステップが使用したインデックスを示す。
    • TRUEまたはFALSEは、アボートの際に返されるエラーを含むテキストを表わし、アボート ステップで出現する。アボートするのは条件がTRUEの場合かFALSEの場合かを示す。
StepAttributeValue 行が表わす属性の値を示す。
LockType このステップに対してクエリー計画で指定されたロックの重大度を定義する。

ロックの重大度については、トランザクションの処理を参照してください。

  • Aは、ACCESSロック。
  • Rは、READロック。
  • Sは、SingleWriterロック。
  • Wは、WRITEロック。
  • Xは、EXCLUSIVEロック。
RowHashFlag テーブルが行ハッシュでロックされたかどうかを示す。
  • Fはテーブルが行ハッシュでロックされていないことを示す。
  • Tはテーブルが行ハッシュでロックされていることを示す。
NoWaitFlag ロック ステップに対してno waitオプションを設定するかどうかを示す。
  • Fは、no waitオプションが無効であることを示す。
  • Tは、no waitオプションが有効であることを示す。
Cardinality 出力される見積もりの行数、またはこの指定のステップで最適化ルーチンによる影響を受けると見積もられる行数。

この値は、行を検索または変更するステップだけに適用されます。

IndexMaintCostEst このステップの影響を受けるインデックスを保守するためにIndex Wizardによって見積もられるミリ秒単位のコスト。

この値は、行を変更するステップだけに適用されます。