gpt4 book ai didi

mysql - 为每个艺术家创建计数列或在查询中获取计数(计数关注者)

转载 作者:搜寻专家 更新时间:2023-10-30 23:36:20 24 4
gpt4 key购买 nike

我的应用有超过 10 万用户。

我有两个表:

  • 艺术家 id(PK), name, ... , (followers) --> need???
  • 跟随artist_id, user_id(两者PK)

我需要获取每位艺术家的关注者数量。

那么哪个更符合逻辑,更正确呢? (内存和 CPU)

答:

select id, name, followers
from artist
limit 30

乙:

SELECT c.*, COUNT(b.artist_id) AS `followers`
FROM (SELECT a.id, a.name
FROM artists a
INNER JOIN following b ON a.id = b.artist_id AND b.user_id = ?) AS c
LEFT JOIN following b ON c.id = b.artist_id
GROUP BY c.id
ORDER BY `followers` DESC
limit 30

最佳答案

使用方法 A 获取数据会更快,但数据可能会过时,因为它可能无法反射(reflect)真实计数。 (您必须定期使用方法 A 更新计数)

使用方法 B,它会更慢,但你会实时计数。如果实时显示计数并不重要,那么我建议您使用方法 A,然后定期更新关注者计数

关于mysql - 为每个艺术家创建计数列或在查询中获取计数(计数关注者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41905823/

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