创建分区表

2020-11-06  本文已影响0人  liuxiaolin

第一种方式:自定义字段

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;

上一篇 下一篇

猜你喜欢

热点阅读