Tivemos um cliente que ativou as menções @all no chat, com dois canais de 16 mil usuários. Foi divertido!
Após 19 menções a todos, eles rapidamente desativaram novamente. 12 horas depois, o sistema deles (robusto) ainda estava com alta carga de CPU.
O problema foi resolvido limpando os 320 mil registros ofensivos da tabela de menções
delete from chat_mentions
where chat_message_id in (
(select chat_message_id
from chat_mentions
group by chat_message_id having count(*) > 100)
);
mas ainda estávamos perplexos por que isso estava causando tantos problemas.
Havia um número de instâncias dessa consulta ainda em execução.
Como as linhas já haviam desaparecido, um explain não forneceu bons resultados, mas é claro que estava fazendo um trabalho pesado. Todos os índices estão no lugar.