Mysql分表的一个考虑

Posted xiaoqifeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql分表的一个考虑相关的知识,希望对你有一定的参考价值。

  今天看到一篇博客,讲述的是mysql的分表方案,内容比较简单,不过有个思路倒是挺好的,记录下,后续分表可以参考

作者主要是说到两种分表,一个是取模,另一个是范围分表

取模:比如用户ID%10,分10张表

范围分表:比如约定,用户ID0~1000w的数据存在表1,1000w~2000w的用户表2,以此类推

 

两者各有优缺点,主要体现在扩展性,冷热数据均匀分布的问题。

取模的话,冷热数据比较均衡,但是扩展性比较差,加入后期数据量翻一倍,10个表存不下了,再加10个表咋办?

范围分表的话不存在扩展性问题,但是按照一般的用户来说,新用户比较活跃,大部分查询都在最新的表上

 

解决问题很简单,两者综合,貌似好多解决方案都是各取所长

首先根据范围分组,比如用户ID1~4000w,分在group1,然后在group1里面做取模分表,相当于group1最大的数据量已经确定了,扩展问题不存在了

 

参考文章: https://www.geek-share.com/detail/2771122100.html 

以上是关于Mysql分表的一个考虑的主要内容,如果未能解决你的问题,请参考以下文章

使用Merge存储引擎实现MySQL分表

使用Merge存储引擎实现MySQL分表

MySQL数据库分表分表区

mysql分库分表,数据库分库分表思路

分库分表最佳实践

php 操作mysql 分表的一种方法