关于dm的水平分区表学习

1.创建range分区表

语句示例:

create table t3 (id int,name varchar(20),time datetime)

partition by range(time)

(partition p1 values less than ('2015-09-01'),

partition p2 values less than ('2019-07-01'),

partition p3 values equ or less than(maxvalue)

);

2.创建list分区表

create table t4 (c1 int,c2 int,c3 int) partition by list(c3)(partition p1 values(1,2,3),partition p2 values(4,5,6)); 

3.创建hash分区表

create table t2 (id int,name varchar(20),city varchar(20)) partition by hash(city) (partition part_01,partition part_02,partition part_03);
 

4.对创建的range分区表添加分区,添加分区是从最后添加的,如果是中间添加要用到split partition

SQL> alter table t3 split partition p3 at ('2020-04-01') into (partition p4,partition p5);
操作已执行
已用时间: 379.017(毫秒). 执行号:206.
SQL> 
5.对list分区表添加分区用add partition,而hash分区表添加分区的功能目前不能支持

6.删除分区用drop partition,同样hash分区表的删除分区功能不能支持

  示例:

SQL> create table t5 (id int,name varchar(20),time datetime) partition by range(time) (partition p1 values less than ('2015-09-01'),partition p2 values less than ('2020-04-01'),partition p3 values equ or less than (maxvalue));
操作已执行
已用时间: 179.625(毫秒). 执行号:207.

7.交换分区,分区表只能跟普通表交换

示例:

create table t6 (id int,name varchar(20),time datetime);

alter table t3 exchange partition p4 with table t6;
操作已执行
已用时间: 127.108(毫秒). 执行号:210.

8.合并分区

目前只能对range分区表合并分区,对hash和list分区表则没法进行合并

SQL> alter table t3 merge partitions p4,p5 into partition p4_5;
操作已执行
已用时间: 64.381(毫秒). 执行号:211.
SQL>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值