セカンダリ インデックスとプライマリ インデックスまたは基本AMPインデックス間の関係 - Advanced SQL Engine - Teradata Database

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

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

テーブルに対して非固有プライマリ インデックスまたは基本AMPインデックスを定義する同じ列セット上にUSIを作成して、固有性を強制することができます。

システムはUSIを使って、プライマリ インデックスまたは基本AMPインデックスの列が固有であることを検証できます。このようなUSIは、NUPIを固有にするための一時的な対応策としてのみ使用してください。この方法でテーブルを変更すると、システムは警告メッセージを返し、SHOW TABLEリクエストから返されるCREATE TABLE SQLテキストは無効になります。

このときには直ちに、テーブルのプライマリ インデックスをNUPIからUPIに変更するために、MODIFY PRIMARY INDEX句を使用してテーブルを変更してください。ALTER TABLE (テーブルの基本的なパラメータ)を参照してください。この操作を実行すると、古いNUPIに定義されていたUSIは削除されます。これは、プライマリ インデックスの固有性を強制する必要がなくなったためです。

この冗長USIが作成された後、ALTER TABLEを使用してテーブルのプライマリ インデックスをNUPIからUPIに変更することができます。また、パーティション列すべてがプライマリ インデックス列リストに定義されていないと、行パーティションPIに対してこの変換を行なうことはできません。

プライマリ インデックスまたは基本AMPインデックスを定義する同じ列セット上に値順NUSIを作成できます。これは、プライマリ インデックス列セットに、パーティション式で使用されるすべての列が含まれているかどうかに関係なく、行パーティションPIに対して有効です。

パーティション式に指定されたすべての列がプライマリ インデックス列セットに含まれていない場合、行パーティションPIテーブルのプライマリ インデックスが定義されたその同じ列セットに、以外の値順NUSIを作成できます。

PPIテーブルのプライマリ インデックスまたは基本AMPインデックスと同じ列セットにUSIまたはNUSIを定義すると、そのテーブルへのアクセス パフォーマンスを向上させることがあります。