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动态分区自动建表的方式,能够快速的实现分区,提高存储、访问数据的性能,维护分区也很方便。


数据运维技术 » Oracle实现动态分区:自动建表实现(oracle动态分区)