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

时间:2018-03-05 09:32:58

标签: mysql database

我有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

  3. 中进行

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

    谢谢

1 个答案:

答案 0 :(得分:0)

1-您似乎希望总共喜欢按Feed ,因此正确的查询将是:

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

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

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