比如评论表,我们分成了100张表,按照userid哈希算法分,那么后台管理要显示评论列表,总不能联合查询100张表,这种情况大家是如何做的?
2 回答

GCT1015
TA贡献1827条经验 获得超4个赞
我觉得还有一个方法,就是建一张评论总表,这张表的字段不必跟分表一致,最关键的是要评论id,和创建时间,后台管理就可以读取这张总表,评论的详情字段去分表查询。比如一页50条记录,最多50次另外的查询,分别去分表查询详情数据展现出来,虽然多一些查询,但是在后台管理系统用不会造成很大压力,

慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
我提个曲线救国的方法,就别按userid分表了,怪累的,直接根据评论时间按月分表,我们的经验是Mysql的话每张表不超过2000万条数据就行,这样汇总起来就方便多了,后台管理唯一需要注意的就是pagination的问题。就算是抛砖引玉了,希望能帮到你。更新:flc1125提到了负载的问题,我顶多能想到加redis缓存,还想问问这个评论的主要查询业务是啥?是展示某个文章的最近评论?
添加回答
举报
0/150
提交
取消