17.10 - パーティション プライマリ インデックスを定義するためのCASE_Nの使用 - 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-1145-171K-JPN
Language
日本語 (日本)

テーブルのプライマリ インデックスまたは結合インデックスは、各AMPに対するそのテーブルのデータまたは結合インデックスの分散および検索を制御します。プライマリ インデックスがpartitionedプライマリ インデックス(PPI)である場合、AMP上のユーザー定義のパーティションに対してデータを割り当てることができます。

テーブルのプライマリ インデックスまたは結合インデックスを定義するには、PRIMARY INDEX句をCREATE TABLEまたはCREATE JOIN INDEXデータ定義文に指定します。パーティション プライマリ インデックスを定義するには、プライマリ インデックスの定義時にPARTITION BY句を組み込みます。

PARTITION BY句には、行のパーティション割り当てを決定する1つ以上のパーティション化式が必要です。CASE_Nを使って、パーティション化列において何らかの値またはNULLをもつ行がいずれかのパーティションに割り当てられるようにパーティション化式を構築することができます。

また、RANGE_Nを使ってパーティション化列を構築することもできます。詳細については、「RANGE_N」を参照してください。

PARTITION BY句がパーティション化式のリストを指定する場合、PPIはmultilevelPPIであり、1つのレベルの各パーティションはリスト内の次のパーティション化式に従ってサブパーティション化されます。有効なSQL式(例外もあり)から成る単一レベルのPPIのパーティション化式とは異なり、マルチレベルPPIのパーティション化式のリスト内の各式は、CASE_N関数またはRANGE_N関数でなければなりません。

CASE_N関数に基づくパーティション式を、ADDまたはDROPすることはできません。CASE_N関数に基づくパーティション式を変更するには、MODIFY PRIMARY INDEXオプションを指定したALTER TABLE文で、PARTITION BY句全体を再定義する必要があります。また、その文を使用するテーブルは空でなければなりません。

詳細については、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>の「ALTER TABLE」を参照してください。