按照时间,每天分区;按照数字,200000一个分区
按照時(shí)間,每天分區(qū)
create table test_p(id number,createtime date)
partition by range(createtime) interval(numtodsinterval(1,'day')) store in (users)
(
partition test_p_p1 values less than(to_date('20140110','yyyymmdd'))
);
create index index_test_p_id on test_p(id) local;
create index index_test_p_createtime test_p(createtime) local;
?
?
按照數(shù)字,200000一個(gè)分區(qū)
create table test_p(id number,createtime date)
partition by range(id) interval(200000) store in (users)
(
partition test_p_p1 values less than(200000)
);
create index index_test_p_id on test_p(id) local;
create index index_test_p_createtime test_p(createtime) local;
? interval-partitioned table(間隔分區(qū)表),即由oracle數(shù)據(jù)庫(kù)在間隔分區(qū)表上自動(dòng)創(chuàng)建分區(qū),無需再自己寫存儲(chǔ)過程或其他腳本來實(shí)現(xiàn)自動(dòng)創(chuàng)建分區(qū)了。當(dāng)然,間隔分區(qū)表的分區(qū)指定列只能為表的單個(gè)列,且該列只能為NUMBER或DATE類型。?間隔分區(qū)必須是基于范圍分區(qū),可以只是范圍分區(qū),也可以是組合分區(qū)如RANGE-LIST、RANGE-HASH等。
EXP 創(chuàng)建按月間隔分區(qū)表
CREATE TABLE tab_part_month
(
??t_id NUMBER,
??t_date DATE,
??t_txt VARCHAR2(20)
)
PARTITION BY RANGE(t_date)
INTERVAL (numtoyminterval(1,'month'))
(
??PARTITION p0 VALUES LESS THAN(to_date('20080101','yyyymmdd')),
??PARTITION p1 VALUES LESS THAN(to_date('20090101','yyyymmdd'))
);
INSERT INTO tab_part_month
VALUES(1,to_date('20070301','yyyymmdd'),'hihi');
INSERT INTO tab_part_month
VALUES(1,to_date('20080301','yyyymmdd'),'hihi');
INSERT INTO tab_part_month
VALUES(1,to_date('20100301','yyyymmdd'),'hihi');
備注:這是一個(gè)按月間隔分區(qū)表,分區(qū)列為t_date日期列,INTERVAL (numtoyminterval(1,'month'))即為間隔分區(qū)的語句,數(shù)字1指定間隔頻率,此時(shí)為按月分區(qū),如果改為3則為每3個(gè)月分一個(gè)區(qū),按日間隔分區(qū)將其改以下語句:INTERVAL (Numtodsinterval(10,'DAY'))。在上面語句中,CREATE語句中創(chuàng)建了p0、p1分區(qū),在執(zhí)行完前兩條INSERT語句后該表分區(qū)并未增加,直到插入第三條語句后數(shù)據(jù)庫(kù)自動(dòng)增加一個(gè)新分區(qū)。
總結(jié)
以上是生活随笔為你收集整理的按照时间,每天分区;按照数字,200000一个分区的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 建按月日自增分区表
- 下一篇: jmeter对oracle压力测试