Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Qual é a maneira correta de contar comentários de artigos, acessos e curtidas em um índice de artigos?


Seria melhor admitir redundância neste caso, para melhorar a velocidade. Para a tabela de notícias, adicione estes campos:
comments_count int not null default 0,
likes_count int not null default 0,
hits_count int not null default 0

Quando um comentário/curtida/ocorrência é adicionado/excluído, se o banco de dados suportar gatilhos, acione um incremento/diminuição do contador referenciado e, caso contrário, faça-o manualmente em cada inserção/exclusão (procedimento armazenado talvez?).

Esse tipo de dado é lido com mais frequência do que gravado, portanto, para otimizar a velocidade de leitura, diminuir a velocidade de gravação e o espaço de armazenamento não é grande coisa.

De tempos em tempos, não há problema em executar uma consulta que atualize esses contadores se, por algum motivo, eles se tornarem errôneos.