聊天提及通知性能

我们的一位客户在聊天中启用了 @all 提及功能,涉及两个拥有 16k 用户(共 32k 用户)的频道。那真是有趣!
在提及 @all 19 次后,他们很快就将其关闭了。12 小时后,他们(强大的)系统仍然处于高 CPU 负载状态。

问题通过清除 mentions 表中 320k 条违规记录得以解决。

delete from chat_mentions
where chat_message_id in (
  (select chat_message_id
   from chat_mentions
   group by chat_message_id having count(*) > 100)
);

但我们仍然不明白为什么这会引起如此大的问题。
此查询 仍然在运行。

由于行已删除,explain 命令没有给出好的结果,但很明显它在进行繁重的处理。所有索引都已就位。

3 篇帖子已合并到现有主题:导致 CPU 负载增加 400% 的查询