Oracle Interval-Partition

众所周知,Oracle的Partition可以为大表查询降低IO开销从而带来显著的性能提升,对于一个事务表,我们通常用时间戳来进行分区。理论上来说,表的大小可以基本无限制的延伸,但是前提是需要要启动一个定时任务去新增加分区从而让所有时间的记录都能划分到某个时间段的区域,一直觉得这样挺繁琐的,Oracle就应该具备这样一个可以动态增加分区的功能,好在在新版本的12c增加了 Interval-Partition.

 

下面的例子说明CUSTOMER表以月份为单位进行从01/01/2013开始分区。月份增加了就会自动创建分区,Cool!

 

CREATE TABLE CUSTOMER

    (SNAPSHOT_DK                NUMBER(10)    NOT NULL,

     SNAPSHOT_DATE              DATE,

     CREATED_ON_DK              NUMBER(15),

     UPDATED_BY              NVARCHAR2(18) NOT NULL

    )

    PARTITION BY RANGE (SNAPSHOT_DATE)

    INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))

    (PARTITION P_FIRST VALUES LESS THAN (TO_DATE('01/01/2013','DD/MM/YYYY')));

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值