MySQL——RDS下的分区表实践

本文探讨了在RDS MySQL 5.6环境下使用分区表的原因,包括提高查询效率和IOPS。实践内容包括RANGE分区的介绍、分区管理(增加、删除、查询)以及数据迁移步骤,利用DTS实现不停机迁移。文章还提醒了分区键设计的注意事项和全表锁问题。
摘要由CSDN通过智能技术生成

实践背景

      项目中有的表空间太大,且行数太多,故决定对一些表进行分库分表。再研究选型方案的时候发现常用的一些分库分表的解决方案对业务代码修改较多,故决定采用MySQL的分区方案。

      其实在我个人看来,分区表就是MySQL帮我们实现了底层的分库分表,不需要涉及业务代码的修改,不需要关注分布式事务。因为就访问数据库而言,逻辑上还是只有一个表,但是实际上确有多个物理分区对象组成,会根据具体的分区规则查询具体的分区。

      介绍一下这次实践的表,表空间大小172G,1亿2千万条记录。

      数据库版本:RDS MySQL 5.6

      工具:阿里云DTS

一、为什么分区?

   优点:

  •      对已过期或者不需要保存的数据,可以通过删除与这些数据有关的分区来快速删除数据,它的效率远比DELETE高
  •      在where子句中包含分区条件时,可以只扫描必要的一个或者多个分区来提高查询效率

       例如下面语句:

        SELECT * FROM t PARTITION(p0,p1)WHERE c <5 仅选择与WHERE条件匹配的分区p0和p1中的记录

  •      涉及聚合函数SUM()、COUNT()的查询时,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值