Tivemos um cliente que ativou 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 intrigados por que isso estava causando tantos problemas.
Houve um número de instâncias desta consulta aqui ainda em execução.
Como as linhas já haviam sumido, um explain não deu bons resultados, mas é claro que estava fazendo um trabalho pesado. Todos os índices estão no lugar.