Blog / 阅读

Oracle 11g 通过间隔分区实现按月创建表分区

by admin on 2014-05-06 16:40:25 in ,



在项目数据库设计过程中由于单表的数据量非常庞大,需要对表进行分区处理。由于表中的数据是历史交易,故按月分区,提升查询和管理。


  由于之前对于表分区了解不多,为了实现上述功能查了很多资料,一开始的方向是通过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插入特殊字符'&'问题

下一篇:MySQL server has gone away 问题的解决方法

评论

写评论

* 必填.

分享

栏目

赞助商


热门文章

Tag 云