チャットメンションメーラーのパフォーマンス

クライアントがチャットで @all メンションを有効にしたところ、16,000 ユーザーの 2 つのチャンネルで問題が発生しました。
19 回の @all メンションの後、すぐに無効にされました。12 時間後も、彼らの(強力な)システムは高い CPU 負荷のままでした。

問題は、メンションテーブルから 320,000 件の該当レコードを削除することで解決されました。

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件の投稿が既存のトピックにマージされました: Query causing 400% CPU Load