Se informações como quantos comentários, votos favoráveis e favoritos forem frequentemente usados, é melhor guardar essas contas em algum lugar; consultar o banco de dados toda vez que houver um número de comentários em um post, o número de seguidores que um usuário tiver, etc. poderá muito em breve se tornar o seu gargalo de desempenho.
Existem duas abordagens comuns:
-
Adicione coluna / campo para
Posts
no banco de dados que armazena a contagem de comentários. quando novos comentários são adicionados, aumente o campo do contador em um (síncrona) ou atualize essa contagem a cada hora / dia (de forma assíncrona). -
Use o cache (memcache, redis) para armazenar esses números para reduzir as consultas ao banco de dados. Geralmente, o cache de memória é necessário para sites de alto tráfego.
De qualquer forma você pode tecer em sua Camada ORM / Abstraction, então não haverá muito código adicional envolvido. Para vantagens / desvantagens, há muitas discussões / debates sobre esse assunto na Internet. Google-lo para explicações detalhadas e detalhadas:)