我应该在我的图像表中存储评论/喜欢/不喜欢的数量吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我应该在我的图像表中存储评论/喜欢/不喜欢的数量吗?相关的知识,希望对你有一定的参考价值。

我应该在每张新的comments/likes/dislikes记录之后更新它们,以便在我的图像表中存储like/dislike/comment的数量

要么

每次我需要知道计数时,我应该只查询像Vote::where('image_id', $this->id)->where('vote', true)->count();这样的东西吗?

答案

这实际上取决于实际情况(例如,您存储和期待的数据量),并且还有两个相互冲突的哲学。

参数一:不保存可计算的数据。如果您可以保存一系列事件(例如所有投票),您可以随时从中扣除总计。但是,缺点是它可能会在具有大量数据的应用程序上变慢。

参数二:保存您需要的数据。根据您使用的持久层类型,最好在数据发生更改时保存数据。例如。 MongoDB确实有“只需存储您需要的”方法。优点:即使在具有大量数据的应用程序上,这也将具有良好的性能,因为您无需动态计算任何内容,只需输出数字即可。

TL; DR:这实际上取决于您的应用程序可能会与哪些因素争吵。

以上是关于我应该在我的图像表中存储评论/喜欢/不喜欢的数量吗?的主要内容,如果未能解决你的问题,请参考以下文章

ImageView在选择其“兄弟” ImageView之一时改变颜色

我应该更喜欢哪种图像加载方法?

如果我的评论表中只有他们的 ID,我还能以某种方式获取对图像发表评论的人的用户名吗

MYSQL 按喜欢/不喜欢和受欢迎程度排序

Solr 可以提高社交“喜欢”数量的结果吗?

API Youtube,如何获得喜欢和不喜欢