这是一个创建于 391 天前的主题,其中的信息可能已经有所发展或是发生改变。
以 mysql 为背景。假设我要把用户的发言记录(或者说朋友圈)持久化,因为用户量比较大,每个用户的发言记录数量不限制。
我先想到的处理方法就是根据用户 ID 取模做分表存储,这样方便查询每个用户各自发表过的记录,但是可能存在热点数据的问题,分表数据量可能不均匀。
还有一个疑问就是 mysql 是支持分区表的,这种场景下,使用用户 ID 取模的方式去分表是否合适?使用分区表或者分表去做,有什么区别吗?或者说优缺点?
核心场景有两个:
1.用户发言
2.用户查看自己的发言记录
ps: 大家请暂时忽略数据量问题,忽略 "这个数据量单表就能支撑"
1 条回复 • 2023-11-04 12:57:07 +08:00
|
|
1
julyclyde 2023-11-04 12:57:07 +08:00
可以做一个 router 函数,根据 id 进行人为分区 代替取模这种和业务无关的纯计算方法
|