結合インデックスの固有プライマリ インデックスの定義 - Advanced SQL Engine - Teradata Database

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

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

固有プライマリ インデックスを持つ、単一テーブルの非圧縮非値順結合インデックスを定義できます。固有プライマリ インデックスを持つ結合インデックスを、固有結合インデックスといいます。圧縮結合インデックスのプライマリ インデックスは、column_1列セットに基づいていなければなりません。つまり、column_1の特定のインスタンスに対して存在するcolumn_2列セットのインスタンスは1つだけということになります。したがって、column_1列セット内のプライマリ インデックス列セットが固有だった場合、その結合インデックスの行圧縮は存在し得ないことになります。このような理由から、圧縮結合インデックスのUPIを定義できることは、それによるメリットは何もないので、サポートされません。

値順結合インデックスの行ハッシュ値は、プライマリ インデックス列セットではなくORDER BY列 セットに対応するので、UPIの固有性のチェックはサポートされません。

結合インデックスにUPIを定義できます。新しい行がインデックスに挿入されるとTeradata Databaseが固有性をチェックするため、挿入または更新された行が結合インデックスの固有性に違反している場合は、実テーブルでINSERT操作またはUPDATE操作に失敗します。インデックスを付ける実テーブルの行が結合インデックスのUPIによって定義された固有性制約に違反している場合は、結合インデックスの作成に失敗します。

クエリーの等価条件で指定する値が、固有結合インデックスにアクセスするためのプライマリ インデックス キーを形成します。

プライマリ インデックスの固有性が明示的に定義されるユーザー定義の固有結合インデックスの場合、カバー テストが行なわれ、結合インデックスのプライマリ インデックスに対する等価条件が存在すれば、結合インデックスは多くても単一行を返すことが保証されます。したがって、最適化ルーチンが単一行アクセスに使用するインデックスを修飾するには、それで十分です。

最適化ルーチンが2AMPのクエリー計画で固有結合インデックスをアクセス パスとして使用する方法については、<Teradata Vantage™- SQLリクエストおよびトランザクション処理、B035-1142>を参照してください。

テンポラル テーブルについては、<Teradata Vantage™ - ANSIテンポラル テーブル サポート、B035-1186>および<Teradata Vantage™ - テンポラル テーブル サポート、B035-1182>を参照してください。