Ter uma configuração semelhante a ‘excluir logs de e-mail após X dias’, mas para notificações (exclusão permanente) seria muito útil - com o padrão sendo 0 (desativado/manter para sempre).
Embora seja bom ter um histórico completo de notificações, o valor delas diminui significativamente com o tempo e elas são um tanto efêmeras. Mas podem ocupar um espaço considerável no banco de dados, proporcionalmente a todo o resto.
Pelo que entendi, é bastante comum que plataformas de mídia social não armazenem notificações indefinidamente - geralmente na faixa de semanas a meses.
Meu pobre servidor está sendo sobrecarregado e o espaço em disco está enchendo rapidamente.
A configuração de site max_notifications_per_user existente ajuda aqui? É uma configuração oculta, mas faz um trabalho semelhante, limitando o número total de notificações em uma instância.
Essa configuração, por padrão, manterá as últimas 10.000 notificações por usuário e purgará automaticamente as restantes em um trabalho em segundo plano que é executado toda semana. Você poderia diminuí-la para um número menor (talvez 1000?) e então ela será limpa de forma ainda mais agressiva.