17.00 - 17.05 - IndexRecommendations - 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
日本語 (日本)

IndexRecommendationsの機能

Teradata Index Wizardユーティリティによって作成される、インデックスの推奨事項に関する情報が含まれます。

このテーブルに問い合わせて、Index Wizardが推奨するインデックス定義を検索できます。また、IndexRecommendationsは、その後に行なわれる検索のためのインデックス分析の際に指定されるオプションを記録します。

IndexRecommendationsテーブルの定義

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

   CREATE TABLE IndexRecommendations(
     WorkLoadID          INTEGER NOT NULL,
     UserName            VARCHAR128 CHARACTER SET UNICODE
                         NOT CASESPECIFIC NOT NULL,
     TimeOfAnalysis      TIMESTAMP(0) NOT NULL,
     RecommendationID    INTEGER NOT NULL,
     QueryID             INTEGER NOT NULL,
     IndexID             INTEGER,
     IndexNameTag        VARCHAR128 CHARACTER SET UNICODE
                         NOT CASESPECIFIC NOT NULL,
     TableName           VARCHAR128 CHARACTER SET UNICODE
                         NOT CASESPECIFIC NOT NULL,
     DatabaseName        VARCHAR128 CHARACTER SET UNICODE
                         NOT CASESPECIFIC NOT NULL,
     TableID             BYTE(6) NOT NULL,
     IndexType           INTEGER,
     IndexTypeText       VARCHAR(30) CHARACTER SET LATIN
                         NOT CASESPECIFIC,
     StatisticsInfo      VARBYTE(16383),
     OriginalCost        FLOAT,
     NewCost             FLOAT,
     SpaceEstimate       FLOAT,
     TimeEstimate        FLOAT,
     DropFlag            CHARACTER(1)CHARACTER SET LATIN
                         NOT CASESPECIFIC,
     IndexDDL            VARCHAR(10000) CHARACTER SET UNICODE
                         NOT CASESPECIFIC,
     StatsDDL            VARCHAR(10000) CHARACTER SET UNICODE
                         NOT CASESPECIFIC,
     Remarks             VARCHAR(1024) CHARACTER SET UNICODE
                         NOT CASESPECIFIC,
     AnalysisData        VARCHAR(2048) CHARACTER SET LATIN
                         NOT CASESPECIFIC,
     IndexesPerTable     SMALLINT DEFAULT NULL,
     SearchSpaceSize     SMALLINT,
     ChangeRateThreshold BYTEINT,
     ColumnPerIndex      SMALLINT,
     ColumnsPerJoinIndex SMALLINT DEFAULT NULL,
     IndexMaintMode      BYTEINT DEFAULT NULL,
     JINumber            INTEGER DEFAULT NULL,
     JITableName         VARCHAR128 CHARACTER SET UNICODE
                         NOT CASESPECIFIC DEFAULT NULL,
     TimeLimitExceeded   CHAR(1) CHARACTER SET LATIN NOT CASESPECIFIC)
     TimeLimit           INTEGER
   PRIMARY INDEX (WorkloadID);

IndexRecommendationsの属性の定義

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

属性 定義
WorkloadID
  • ワークロードを固有に識別する。
  • このテーブルのNUPI。
UserName インデックス分析を実行するユーザーの名前。
TimeOfAnalysis インデックスの推奨事項が分析された際のタイムスタンプ。

システムに適用する前に、この列をTableNameの変更されたタイムスタンプと比較することによって推奨事項の正確さを検証できます。

RecommendationID インデックスの推奨事項を固有に識別する。
QueryID 現在のエントリがインデックスの推奨事項の1つとなっているワークロードのQueryIDを固有に識別する。
IndexID Teradata Index Wizardによって推奨されているテーブルの固有セカンダリ インデックスを固有に識別する。

IndexTypeの値が5または6 (結合インデックスを示す)のときは、非適用を意味するnullが設定されます。

IndexNameTag INITIATE INDEX ANALYSIS文で指定したインデックスの推奨事項の名前(<SQLデータ操作言語>を参照)。
TableName 行がインデックスの推奨事項を定義する対象となるテーブルの名前。
DatabaseName TableNameを含むデータベースの名前。
TableID TableNameの固有の内部識別子。
IndexType 推奨されたインデックスのタイプを示す番号。

それぞれの固有インデックス タイプは、独自のIndexTypeTextに関連付けられています。

  • 1はIndexTypeTextが固有セカンダリ インデックス(USI)であることを示しています。
  • 2はIndexTypeTextが値順セカンダリ インデックス(VOSI)であることを示しています。
  • 3はIndexTypeTextがハッシュ順セカンダリ インデックス(HOSI)であることを示しています。
  • 4はIndexTypeTextが非固有セカンダリ インデックス(NUSI)であることを示しています。
  • 5はIndexTypeTextが単純結合インデックス(JI)であることを示しています。
  • 6はIndexTypeTextが集約結合インデックス(JIAGG)であることを示しています。
IndexTypeText IndexTypeのテキストによる表現。

以下に、有効なIndexTypeText文字列およびその意味を示します。

  • HOSIはハッシュ順セカンダリ インデックス。
  • JIは単純結合インデックス。
  • JIAGGは集約結合インデックス。
  • NUSIは非固有セカンダリ インデックス。
  • USIは固有セカンダリ インデックス。
  • VOSIは値順セカンダリ インデックス。
StatisticsInfo インデックスの推奨事項を作成する統計(存在する場合)。
OriginalCost 推奨されたインデックスを実装する前の問合わせの見積もりコスト(ミリ秒)。
NewCost 推奨されたインデックスを実装した後の問合わせの見積もりコスト(ミリ秒)。
SpaceEstimate 推奨されたインデックスが作成時に占有するスペースの見積もり(バイト単位)
TimeEstimate 推奨されるインデックスの実装に必要な時間の見積もり(ミリ秒)。
DropFlag 指定されたインデックスを追加するか、または削除するかを識別する。
  • Nは、インデックスの削除が推奨されていないことを意味します。
  • Yは、インデックスの削除が推奨されていることを意味します。
IndexDDL Teradata Index Wizardが推奨するインデックス用のCREATE INDEX、DROP INDEX、CREATE JOIN INDEX、またはDROP JOIN INDEXリクエストのDDLテキスト。
StatsDDL インデックスの分析に使用するCOLLECT STATISTICS (QCD形式)リクエストのDDLテキスト。
Remarks インデックスの推奨事項の作成に関係する、分析の詳細を提供する。
AnalysisData 将来の使用に備えて予約済み。
IndexesPerTable 分析を開始するのに使用するINITIATE INDEX ANALYSIS文で指定された、特定のテーブルにおけるインデックスの数の制限。
SearchSpaceSize 分析を開始するのに使用するINITIATE INDEX ANALYSIS文で指定された、特定のテーブルで検索される、候補となるインデックスの最大数。
ChangeRateThreshold 分析を開始するために使用されるINITIATE INDEX ANALYSIS文で指定された、列の揮発性のしきい値。

変更率がChangeRateThresholdより小さい列は、インデックス分析の際に、候補となるインデックスとして選択されます。

ColumnsPerIndex 分析を開始するために使用されるINITIATE INDEX ANALYSIS文で指定された、インデックスで許可される列の最大数。
ColumnsPerJoinIndex Teradata Index Wizard、またはINITIATE INDEX ANALYSIS SET boundary_option指定によって指定された、推奨される結合インデックス内の列の最大数を制御するために分析中に使用された整数値。
IndexMaintMode インデックス保守コストの見積もりの使用方法を制御するために、分析中に使用された整数値。

この値は、Teradata Index Wizardによって、またはINITIATE INDEX ANALYSIS SET boundary_option指定を使用して、指定されます。

JINumber 指定のインデックス分析に対する推奨される結合インデックス テーブルを識別する、連番の整数値。

この列は、結合インデックス以外のインデックス タイプではnullに設定されます。

JITableName 結合インデックスに対してシステムが割り当てる名前。

JINumberがnullの場合、JITableNameもnullです。

JITableNameの命名規則は以下のとおりです: JI_RecommendationID_BaseTableName_JINumber、JIはリテラル文字列、RecommendationIDBaseTableName、およびJINumberの値を使用して、行の名前付き列で使用され、必要に応じて文字形式に変換されます。

TimeLimitExceeded 推奨事項が、指定されている期限が切れたINITIATE INDEX ANALYSISリクエストによって生成されたかどうかを示します。
  • Fの場合、指定されたINITIATE INDEX ANALYSISの期限を超えているため、パーティション分析は中断されません。

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

  • Tの場合、指定されたINITIATE INDEX ANALYSISの期限を超えているため、パーティション分析は中断されます。

    これは、最終の推奨事項が影響を受けた可能性があることを意味します。

TimeLimit 分析の期間についてユーザーが指定した期限(分単位の整数値)。