この列を含む列パーティションは、ROW形式を使用します(ROW形式で定義されていない場合)。
- AUTO COMPRESS
- この列を含む列パーティションは、自動圧縮付きのROW形式を使用します。
- NO AUTO COMPRESS
- この列を含む列パーティションは、自動圧縮なしのROW形式を使用します。
例: 基本AMPインデックスとの結合インデックスに対し、列パーティションをROW形式に変更する
以下のテーブル定義を仮定します。
CREATE TABLE Orders ( o_orderkey INTEGER NOT NULL, o_custkey INTEGER, o_orderstatus CHAR(1) CASESPECIFIC, o_totalprice DECIMAL(13,2) NOT NULL, o_ordertsz TIMESTAMP(6) WITH TIME ZONE NOT NULL, o_comment VARCHAR(79), o_salesperson VARCHAR(5), o_ordersubstatus CHAR(1) CASESPECIFIC, o_comment_ext1 VARCHAR(79), o_comment_ext2 VARCHAR(79), o_ship_addr VARCHAR(500), o_bill_addr VARCHAR(200), o_alt_ship_addr VARCHAR(500), o_alt_bill_addr VARCHAR(200), o_item_count INTEGER ) PRIMARY AMP INDEX (o_orderkey) PARTITION BY ( COLUMN AUTO COMPRESS ALL BUT ( o_ordersubstatus NO AUTO COMPRESS, (o_comment_ext1, o_comment_ext2) NO AUTO COMPRESS, ROW(o_ship_addr, o_bill_addr) NO AUTO COMPRESS, COLUMN(o_alt_ship_addr, o_alt_bill_addr) ), UNIQUE INDEX (o_orderkey);
結合インデックスを次のように作成します。
CREATE JOIN INDEX jOrders AS SELECT ROWID AS rw, o_custkey, o_salesperson, o_bill_addr FROM Orders PRIMARY AMP INDEX (o_custkey) PARTITION BY COLUMN NO AUTO COMPRESS ALL BUT (o_salesperson AUTO COMPRESS);
列パーティションがROW形式になるように変更します。
ALTER TABLE jOrders ADD ROW(o_bill_addr);
これにより、結合インデックス定義が次のように生成されます。
CREATE JOIN INDEX jOrders AS SELECT ROWID AS rw, o_custkey, o_salesperson, o_bill_addr FROM Orders PRIMARY AMP INDEX (o_custkey) PARTITION BY COLUMN NO AUTO COMPRESS ALL BUT (o_salesperson AUTO COMPRESS, ROW(o_bill_addr));