Oracle实现动态分区:自动建表实现(oracle动态分区)
Oracle数据库支持动态分区,即可以根据存储的数据就进行表的分区,从而更快的访问数据和管理表,从而达到更好的性能。Oracle动态分区表可以自动检测分区范围,通过建表动态创建分区,以下提供一个案例:
//创建表create table test_table(
id int,
name varchar2(20),
month_buydate number(8,0)
)
partition by range(month_buydate)
(
partition pmax values less than (maxvalue) //maxvalue表示最大值
);
//插入数据操作
insert into test_table(id,name,month_buydate) values (1,’zhangsan’,20150301);
insert into test_table(id,name,month_buydate) values (2,’lisisi’,20180105);
//查询操作
select * from test_table;
–结果返回:
id name month_buydate
1 zhangsan 20150301
2 lisisi 20180105
–插入一条新的数据(月份是20190624)
insert into test_table(id,name,month_buydate) values (3,’wangwu’,20190624);
–查询
select * from test_table partition (pmax);
–结果返回:
id name month_buydate
3 wangwu 20190624
//可以继续查看已有分区
select * from user_tab_partitions;
–结果返回:
table_name partition_name high_value
test_table PMAX MAXVALUE
//修改分区
alter table test_table split partition pmax
at(to_date(‘20190531′,’yyyymmdd’));
//查看已有分区
select * from user_tab_partitions;
–结果返回:
table_name partition_name high_value
test_table PMAX MAXVALUEL
P3 20190531
从上面的示例中可以看出,通过Oracle动态分区自动建表的方式,能够快速的实现分区,提高存储、访问数据的性能,维护分区也很方便。