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

IndexTableの機能

問合わせによって指定された複数のテーブルにあるインデックスすべてを記述します。

IndexTableテーブルの定義

次のCREATE TABLEリクエストは、IndexTableを定義しています。

   CREATE TABLE IndexTable (
     IndexNum        INTEGER NOT NULL,
     RelationKey     INTEGER NOT NULL,
     OrderBy         CHARACTER(1) CHARACTER SET LATIN NOT CASESPECIFIC
                     NOT NULL,
     AccessInfo      CHARACTER(1) CHARACTER SET LATIN NOT CASESPECIFIC
                     NOT NULL,
     Field1Only      CHARACTER(1) CHARACTER SET LATIN NOT CASESPECIFIC
                     NOT NULL,
     RangeConstraint CHARACTER(1) CHARACTER SET LATIN NOT CASESPECIFIC
                     NOT NULL,
     IndexFlag       CHARACTER(1) CHARACTER SET LATIN NOT CASESPECIFIC,
     IndexName       VARCHAR128 CHARACTER SET UNICODE NOT CASESPECIFIC,
     IndexType       CHARACTER(1) CHARACTER SET LATIN NOT CASESPECIFIC,
     UniqueFlag      CHARACTER(1) CHARACTER SET LATIN NOT CASESPECIFIC,
     IndexKind       CHARACTER(1) CHARACTER SET LATIN NOT CASESPECIFIC,
     NumNulls        FLOAT,
     NumIntervals    INTEGER,
     MinValue        VARCHAR(512) CHARACTER SET UNICODE
                     NOT CASESPECIFIC,
     ModeValue       VARCHAR(512) CHARACTER SET UNICODE
                     NOT CASESPECIFIC,
     ModeFreq        FLOAT,
     TotalValues     FLOAT,
     TotalRows       FLOAT)
   PRIMARY INDEX (RelationKey)
   UNIQUE INDEX USK_IdxNum_RelationKey ( IndexNum, RelationKey );

IndexTableの属性の定義

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

属性 説明
IndexNum
  • 獲得されたインデックスの固有識別子。
  • このテーブルの部分的なUSI。
RelationKey
  • 獲得されたインデックスが定義されているリレーションの固有識別子。
  • このテーブルのNUPI。
  • このテーブルの部分的なUSI。
OrderBy インデックスがORDER BY節に関連しているかどうかを定義する。
  • Fの場合、インデックスにはORDER BY節がない。
  • Tの場合、インデックスにはORDER BY節がある。
AccessInfo インデックスがカバー インデックスまたはビット マップかどうかを指定する。
  • Bは、ビット マップを使ったアクセス。
  • Cは、カバー インデックスを使ったアクセス。
  • Nは、ビット マップにも カバー インデックスにもよらないアクセス。
  • Pは、プライマリ インデックスを使ったアクセス。
Field1Only インデックスが結合インデックスであって、Field1だけが必要な部分かどうかを指定する。
  • Fの場合、これはField1のみを必要とする結合インデックスでない。これは通常、インデックスが結合インデックスではないこと、またはインデックスが圧縮された結合インデックスであることを意味します。
  • Tの場合、これはField1のみを必要とする結合インデックスである。

    つまり、結合インデックスは圧縮されていません。

RangeConstraint 問合わせ計画に使用される、範囲制約のある値順インデックスのフラグ。
  • Fの場合、インデックスに範囲制約がない。

    このフラグはインデックスが計画で使用されていてもいなくてもFに設定されます。

  • Tの場合、計画で使用されている値順インデックスに範囲制約がある。
IndexFlag インデックスが問合わせ計画で使用されたかどうかを示すフラグ。
  • Fの場合、インデックスが問合わせ計画で使用されていない。
  • Tの場合、インデックスが問合わせ計画で使用されている。

    行パーティション排除のために、行パーティション プライマリ インデックスの行パーティションのサブセットにアクセスする場合にも、IndexFlagはTに設定されます。

IndexName
  • インデックス名(存在する場合)。
  • 名前付きインデックスではない場合はnull。
IndexType インデックスのタイプを示すコード。
  • Hはハッシュ順セカンダリ カバー インデックス。
  • Jは結合インデックス。
  • Kはプライマリ キー。
  • Nはハッシュ インデックス。
  • Oは値順セカンダリ カバー インデックス。
  • Pはパーティション化されていないプライマリ インデックスです。
  • Qは行パーティション プライマリ インデックス。
  • Sはセカンダリ インデックス。
  • Uは固有性制約。
  • Vは値順セカンダリ インデックス。
UniqueFlag インデックスが固有であるかどうかを示すコード。
  • Fの場合、インデックスは固有でない。
  • Tの場合、インデックスは固有。
IndexKind インデックスが恒久的なものか、シミュレートされたものかを示すコード。

インデックスは、Teradata Index Wizardのインデックス検証機能を使用してシミュレートされます。詳細については、<Teradata® Index Wizardユーザー ガイド>を参照してください。

  • Pは恒久インデックス。
  • Sはシミュレートされたインデックス。
NumNulls インデックス内のnullの数。
NumIntervals インデックス統計内の間隔の数。
MinValue インデックスの最小値。

インデックスの間隔0の統計ヒストグラムから取得されます。

ModeValue テーブルでもっとも頻出するインデックスの値。

インデックスの間隔0の統計ヒストグラムから取得されます。

ModeFreq テーブルで最頻数値が出現する回数。
TotalValues テーブルの最頻数値以外の値の合計。
TotalRows テーブルのカーディナリティ。