1、间隔分区
interval分区是范围分区的增强,可以实现范围分区的自动化,可以自动创建新的分区和本地索引。
测试例子:
先创建一个分区表,
写入不在分区范围内的数据
查看分区已经自动建立了,但是分区名无法指定,对于根据分区名进行备份清理来说,这个貌似还是不智能。
DROP TABLE EDU.TEST23 PURGE / CREATE TABLE EDU.TEST23 (ID NUMBER(12), NAME VARCHAR2(20), CREATE_DATE DATE ) PARTITION BY RANGE(CREATE_DATE) INTERVAL (NUMTOYMINTERVAL(1,'MONTH')) ( PARTITION P201602 VALUES LESS THAN (TO_DATE('20160201','YYYYMMDD')) ) / insert into edu.test23 values(1,'1',sysdate) / CREATE TABLE EDU.TEST23 ( ID NUMBER(12) NULL, NAME VARCHAR2(20) NULL, CREATE_DATE DATE NULL ) TABLESPACE USERS PCTFREE 10 PCTUSED 0 INITRANS 1 MAXTRANS 255 STORAGE(BUFFER_POOL DEFAULT) NOPARALLEL NOCACHE PARTITION BY RANGE(CREATE_DATE) (PARTITION P201602 VALUES LESS THAN (TO_DATE(' 2016-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) LOGGING, PARTITION SYS_P62 VALUES LESS THAN (TO_DATE(' 2016-04-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) LOGGING) /
2、外键分区
通过外键来获得主表的分区方案
比如:主表按照create_date分区,包含外键的表通过外键,就可以按照主表的create_date进行分区。
3、虚拟列分区
允许使用表中的一列或者多列来确定分区,而虚拟列只作为元数据存储。