程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle11g通過間隔分區實現按月創建表分區

Oracle11g通過間隔分區實現按月創建表分區

編輯:Oracle教程

在項目數據庫設計過程中由於單表的數據量非常龐大,需要對表進行分區處理。由於表中的數據是歷史交易,故按月分區,提升查詢和管理。

由於之前對於表分區了解不多,為了實現上述功能查了很多資料,一開始的方向是通過Crontab調用Shell腳本來按月自動創建分區,或者使用Oracle的Job調用存儲過程來自動創建分區。在研究上述兩套方案的過程中,無意發現Oracle11g有間隔分區功能,對於使用Range分區的可以按年,月,日來自動生成分區。語法如下:

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日後的數據每月只要有數據,就會自動創建一個分區。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved