第一种方式:自定义字段
CREATE TABLE TABLE_NAME (COL1 VARCHAR2(20),
COL2 NUMBER,
COL3 DATE,
COL4 FLOAT,
COL5 CLOB ,
CONSTRAINT PK_NAME UNIQUE PRIMARY KEY ("COL1") --声明主键,这点非常重要
)
PARTITION BY RANGE(COL3) --分区字段
INTERVAL ( NUMTOYMINTERVAL(1,'MONTH')) --分区间隔,按月分区
(
PARTITION p1 VALUES LESS THAN (TO_DATE('2017-06-01','YYYY-MM-DD')) -- 设定第一个分区
)
ROWDEPENDENCIES --定义SCN行级依赖
第二种方式:引用其他表的字段,通常用来表重建。
CREATE TABLE TABLE_NAME
PARTITION BY RANGE(COL3) --分区字段
INTERVAL(NUMTOYMINTERVAL(1,'MONTH')) --定义分区时间间隔
(
PARTITION p1 VALUES LESS THAN(TO_DATE('2017-06-01','YYYY-MM-DD')) --定义第一个分区
)
ROWDEPENDENCIES NOLOGGING --定义SCN行级依赖
AS
SELECT * FROM TABLE_NAME2
这种方式只是复制了源表的表结构,源表的索引、主键并没有复制过来,所以建好表之后要及时手动创建主键和索引,否则表的IO性能(UPDATE,INSERT)会非常非常糟糕。
主键:
ALTER TABLE TABLE_NAME2 ADD CONSTRAINT PK_NAME PRIMARY KEY ("COL1") NOLOGGING ;
索引:
CREATE INDEX IDX_NAME ON TABLE_NAME2(COL2) ONLINE NOLOGGING;