テーブルの固有セカンダリ インデックス(USI)を定義します。
- index_name
- インデックスに対するオプションの名前。
- index_column_name
- 値がセカンダリ インデックスの基礎として使用される列セット。
WITH LOAD IDENTITY
ロード分離テーブルで作成されたインデックスのRowLoadIDを記録します。
このオプションは、ロード分離テーブルで作成されたインデックスに指定できます。
- NO
- NUSIのROWIDを持つRowLoadIDは記録しません。実行は、インデックス行からの修飾されたROWIDを使用して、コミット済みのプロパティの決定に使用する必要があります。このインデックスはより簡素で維持しやすい場合がありますが、読み込み処理はインデックスの利便性が制限され、通常のNUSIベースのオプションよりはコストがかかります。
例: プライマリ インデックスで定義されているUSIのあるマルチレベル パーティションNUPI
次の例では、両方のパーティション式の基礎としてRANGE_N関数を使用して、2つのレベルのPPI表が作成されます。どちらのパーティション列もプライマリ インデックスのコンポーネントではないため、そのインデックスはNUPIとして定義される必要があります。固有性を強制するには、o_orderkeyにUSIを定義する必要があります。
CREATE TABLE orders ( o_orderkey INTEGER NOT NULL, o_custkey INTEGER, o_orderstatus CHARACTER(1) CASESPECIFIC, o_totalprice DECIMAL(13,2) NOT NULL, o_orderdate DATE FORMAT 'yyyy-mm-dd' NOT NULL, o_orderpriority CHARACTER(21), o_clerk CHARACTER(16), o_shippriority INTEGER, o_comment VARCHAR(79)) PRIMARY INDEX (o_orderkey) PARTITION BY (RANGE_N(o_custkey BETWEEN 0 AND 49999 EACH 100), RANGE_N(o_orderdate BETWEEN DATE '2000-01-01' AND DATE '2006-12-31' EACH INTERVAL '1' MONTH)) UNIQUE INDEX (o_orderkey);