php - 多说或畅言这种评论插件是怎么处理点赞的?
PHPz
PHPz 2017-04-11 09:50:01
[PHP讨论组]

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

想过以下两种思路:

  1. 字段为comment_id, member_id, enabled

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

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

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

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

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

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

PHPz
PHPz

学习是最好的投资!

全部回复(4)
ringa_lee

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

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

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

黄舟

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

大家讲道理

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

PHP中文网

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号