目前在做一个留言需求的时候,在设计表的时候,在想有没有比较好的解决方案。
想过以下两种思路:
字段为comment_id, member_id, enabled
字段为comment_id, member_id(批量存放member_id)
第一种的话,感觉数据量比较大,如果有10w用户 x 10w留言,数据量为100亿。虽然字段比较少,但是可能效率还是比较低,也有解决方案,比如按member_id进行分表。
第二种的话,虽然数据量不大,但是查询起来麻烦。
不知道大家一般使用哪种方案?或者有什么更好的方案?谢谢大家。
========== 补充 =============
目前我使用的是第一种,没使用一对多的关系,主要是考虑如果点赞人数太多,从每条评论获取出是否点赞,效率比较低。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
字段为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个人赞 具体场景具体规划