更新total_counts列与SELECT COUNT(*)查询

问题描述 投票:1回答:1

我有2张桌子

feeds
=====
id int
content text

feed_likes
=====
id int
feed_id int
like_by int

我希望获得总饲料喜欢:2种方式

  1. Select (count(*) from feed_likes) as total_likes From feeds
  2. 我将在feed表中添加一个列,例如total_likes,当有人喜欢这个feed时,我会增加它。所以这将在Select * From Feeds回溯。

现在的问题是哪一个最好? Facebook正在使用哪一个?

谢谢

mysql database
1个回答
0
投票

1-您似乎想要通过Feed完全喜欢,所以正确的查询将是:

SELECT count(*) as total_likes, feed_id FROM feed_likes GROUP BY feed_id

2-这是一个非常糟糕的主意,你在这里打破了逻辑设计,因为类似的表是feed_likes而不是feed。

我不知道facebook如何管理它,但我很确定他们不会添加COUNT列。我写的查询非常简单,因为您可以看到它,因此您不需要存储该值。

© www.soinside.com 2019 - 2024. All rights reserved.