首页 > 代码库 > oracle 11G 间隔分区
oracle 11G 间隔分区
在项目数据库设计过程中由于单表的数据量非常庞大,需要对表进行分区处理。由于表中的数据是历史交易,故按月分区,提升查询和管理。
由于之前对于表分区了解不多,为了实现上述功能查了很多资料,一开始的方向是通过Crontab调用Shell脚本来按月自动创建分区,或者使用 Oracle的Job调用存储过程来自动创建分区。在研究上述两套方案的过程中,无意发现Oracle11g有间隔分区功能,对于使用Range分区的可 以按年,月,日来自动生成分区。语法如下:
[sql] view plaincopy
- CREAT TABLE TABLE1
- (
- TABLE_ID NUMBER(8),
- SUB_DATE DATE,
- VALUE NUMBER(8)
- )
- PARTITION BY RANGE(SUB_DATE)
- INTERVAL(NUMTOYMINTERVAL(1,‘MONTH‘))
- (
- PARTITION P1 VALUES LESS THAN(TO_DATE(‘2014-05-01‘,‘YYYY-MM-DD‘))
- );
2014年5月1日前的数据会放入p1分区,5月1日后的数据每月只要有数据,就会自动创建一个分区。
oracle 11G 间隔分区
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。