テーブルのプライマリ インデックスまたは結合インデックスは、各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」を参照してください。