gpt4 book ai didi

mysql - 在 MySQL 中存储帖子的点赞数

转载 作者:行者123 更新时间:2023-11-29 04:39:21 25 4
gpt4 key购买 nike

按以下格式存储点赞数是个好主意吗?

像表:

u_id | post_id | user_id

和帖子的 count(u_id)

如果每个帖子都有数千个赞怎么办?几个月后,like 表将填满数十亿行。

还有哪些其他有效的方法可以做到这一点?

最佳答案

两个字的答案是:是的,没问题。 (存储关于每个喜欢任何用户对任何帖子所做的数据)。

但我只想将其分离或转换为几个问题:

问。还有其他方法可以count(u_id)吗?甚至更好:

SELECT COUNT(u_id) FROM likes WHERE post_id = ?

一个。为什么不?您可以在 post 表中保存计数,并在每次用户喜欢/不喜欢该帖子时增加/减少它。您可以设置触发器(存储过程)来自动执行此操作。然后为了获得反击,你只需要:

SELECT counter FROM posts WHERE post_id = ?

如果您喜欢之前的问答并且认为我有下一个问题是个好主意:

问。为什么我们需要 likes 表?

一个。这取决于您的应用程序设计和要求。根据您发布的列集:u_id、post_id、user_id(我什至会添加另一列timestamp)。您的要求是存储有关 user 的信息以及有关 post 的信息。这意味着您可以识别用户是否已经喜欢这篇文章并拒绝多点赞。如果您不关心多重点赞或历史时间轴和统计数据,您可以删除您的点赞 表。

我在这里看到的最后一个问题:

问。 like 表将在几个月后填满数十亿行。不是吗?

一个。我祝你成功,但恕我直言,你 99% 都错了。要获得 100 万条记录,您需要 1000 个活跃用户(这对于个人创业来说是非常非常好的数字(您正在构建整个应用程序而没有架构师或设计师参与?))并且这些用户中的每个都应该喜欢 < strong>每 1000 个帖子(如果有的话)。我的观点是:幸运的是你有足够的时间直到你的数据库变得非常大,这会伤害你的应用程序。在您的表获得 10-20M 的记录之前,您不必担心大小和性能。

关于mysql - 在 MySQL 中存储帖子的点赞数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33131864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com