高并发下的数据库设计水平分区之二篇

接着【高并发下的数据库设计水平分区之一篇】,接下来介绍对表分区进行修改、合并、重定义、删除分区。

由于数据库的数据是动态的,所以根据数据的变化,分区的策略有所改变。如:原来表分区可对其添加、修改、删除或可对其分解或合并。

分区示例图如下图一

高并发下的数据库设计水平分区之二篇

分区示例图如下图二

高并发下的数据库设计水平分区之二篇

分区示例图如下图三

高并发下的数据库设计水平分区之二篇

表分区修改

alter table语句相信程序员都很熟悉,首先使用add partition 关键字,可对已存在的分区表进行添加,这里添加其实就是修改。

1、添加RANGE方式最大值分区

实现语句如:

Alter table order add partition (

partition p5 values less than(maxvalue)

)

表分区合并与分解

使用 reorganize partition 关键字

1、RANGE合并分区,将原来的 p0,p1分区合并起来放到新的 p0 分区中

实现语句如下:

Alter table order reorganize partition p0,p1 into(

partition p0 values less than(20000)

)

2、做个相反过程,RANGE分解分区,将原来的 p0分区分解成新的 p0,p1分区

实现语句如下:

Alter table order reorganize partition p0 into (

partition p0 values less than(10000),

partition p1 values less than(20000)

)

3、也可根据需要重新对分区进行规划,将原来的p0,p1,p2,p3,p4,p5分区重新成p0,p1,p2分区

实现语句如下:

Alter table order reorganize partition p0,p1,p2,p3,p4,p5 into (

partition p0 values less than(20000),

partition p1 values less than(30000),

partition p2 values less than(maxvalue)

)

注:拆分或合并分区统称为重新定义分区,修改、拆分、合并分区不会丢失数据。

重新定义分区如语句:Alter table order partition by hash(orderId) partitions 5;

表分区删除

使用drop partition 关键字

1、删除p0分区

实现语句如下:

Alter table order drop partition p0

--删除多个分区可用下面语句,用逗号隔开

Alter table order drop partition p0,p1

2、删除所有分区

实现语句如下:

Alter table order remove partitioning

注:这里有必要说明一下,删除分区会把分区所有数据进行删除等同执行delete语句,所以删除分区时要谨慎。建议如果数据有用,就不能做删除分区。

不定期将写

【高并发数据库设计水平分区之三篇】不同引擎的分区特性、分区的限制性

【高并发数据库设计水平分区之四篇】数据库服务器集群分区

【高并发数据库设计水平分区业务示例场景】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值