tshizuku03の日記

主にoracleやLinuxコマンドについての記事を載せていきたいと思っています。

パーティションテーブル

大規模テーブルの管理作業をパーティションパーティションの導入で
容易にすることが可能です
・検索スピード検索スピードの向上
・メンテナンス作業の向上
・可用性の向上

CREATE TABLE interval_sales
( prod_id NUMBER(6)
, cust_id NUMBER
, time_id DATE
, channel_id CHAR(1)
, promo_id NUMBER(6)
, quantity_sold NUMBER(3)
, amount_sold NUMBER(10,2)
)
PARTITION BY RANGE (time_id)
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
STORE IN(USER01,USER02,USER03,USER04)
( PARTITION p0 VALUES LESS THAN (TO_DATE('1-1-2016', 'DD-MM-YYYY')),
PARTITION p1 VALUES LESS THAN (TO_DATE('1-2-2016', 'DD-MM-YYYY')),
PARTITION p2 VALUES LESS THAN (TO_DATE('1-3-2016', 'DD-MM-YYYY')) ); 

 マニュアル:

パーティションの作成

オプションのSTORE IN句を使用して1つ以上の表領域を指定できます。この表領域には、データベースが、後から作成される時間隔パーティションのために、ラウンドロビンアルゴリズムを使用して時間隔パーティション・データを格納できます。