17.10 - index - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-171K-JPN
Language
日本語 (日本)

テーブルに対し非固有セカンダリ インデックス(NUSI)を定義するキーワード。

UDTデータ型の列にセカンダリ インデックスを定義できます。

Geospatialデータ型の列に非固有セカンダリ インデックスを定義できます。

前にキーワードUNIQUEを付けずにINDEXを指定する場合、そのインデックスは非固有セカンダリ インデックス(NUSI)になります。

INDEXリストはANSI SQLへの拡張機能です。

UNIQUEおよびPRIMARY KEY制約定義によって作成されたインデックスとは異なり、インデックス リストによって定義されたインデックスは、NULLを使用できる列を含めることができます。

次のいずれかのデータ型で定義されている列に対してはセカンダリ インデックスを定義できません。
  • BLOB
  • CLOB
  • LOB UDT
  • VARIANT_TYPE
  • ARRAY
  • VARRAY
  • Period
  • XML
  • JSON
  • DATASET
index_name
インデックスに対するオプションの名前。
データベース オブジェクトの命名ルールについては、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。
ALL
列に割り当てられている大文字小文字の区別を無視します。このプロパティにより、ALLオプションを指定して定義されたNUSIは、以下の処理を行なうことができます。
  • 文字の大小の区別がある値を含めること。
  • NOT CASESPECIFIC列セットでテーブルまたは結合インデックスを対象にすること。
ALLを指定するとNUSIは問合わせを扱えるようになります。こうして、問合わせに必要なすべての列がNUSIに含まれているときは、基本テーブルへの直接のアクセスを回避することによって、パフォーマンスを向上させます。
ALLオプションを指定すると、追加のインデックスの記憶領域が必要となる場合もあることに注意してください。
ALLオプションの存在のみが異なる複数のNUSIを指定することはできません。
プライマリ インデックスまたは固有セカンダリ インデックスにALLオプションを指定できません。
index_column_name
値がセカンダリ インデックスの基礎として使用される列セット。
リスト内の列には、BLOB、CLOB、Period、XML、Geospatial、JSON、またはDATASETのデータ型があってはなりません。
複数の列名を指定すると、インデックスは指定された各列が組み合わせられた値に基づいて作成されます。1つのインデックスに対して最大64個の列を指定することができます。1つのテーブルに最大32個のセカンダリ インデックスを作成することができます。