多说或畅言这种评论插件是怎么处理点赞的?

目前在做一个留言需求的时候,在设计表的时候,在想有没有比较好的解决方案。

想过以下两种思路:

  1. 字段为comment_id, member_id, enabled

  2. 字段为comment_id, member_id(批量存放member_id)

第一种的话,感觉数据量比较大,如果有10w用户 x 10w留言,数据量为100亿。虽然字段比较少,但是可能效率还是比较低,也有解决方案,比如按member_id进行分表。

第二种的话,虽然数据量不大,但是查询起来麻烦。

不知道大家一般使用哪种方案?或者有什么更好的方案?谢谢大家。

========== 补充 =============

目前我使用的是第一种,没使用一对多的关系,主要是考虑如果点赞人数太多,从每条评论获取出是否点赞,效率比较低。

阅读 3.6k
4 个回答

字段为comment_id, member_id 查询到就是有点赞,查询不到就是未点赞,取消点赞就删除记录。

10w点赞也就10w条记录,不存在1亿之说

数据量大了需要分表的话就用comment_id来分更合理一些。

第二种,我觉得可以 member_id 然后批量存放comment_id,点赞其实就是判断是否点赞而已。还可以用nosql哦

第一种,性能问题可以通过分表、数据库缓存等方式来解决,这种方案在后期如果需要对数据进行分析和处理的话就会比较方便

文章评论多少人赞过没有必要记录下每个人的id吧 赞一次计数器自动+1好了 如果你想统计某个人赞过哪些评论就在user维度加一个赞过的comment_id好了 数据放在nosql 如果要像微信朋友圈一样显示赞过的user_id的话 user_id是不会太多的 太多了就展示给用户做成xxx等N个人赞 具体场景具体规划

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题