Em um sistema de gerenciamento de conteúdo, a consulta de p...

Próximas questões
Com base no mesmo assunto
Q3035483 Banco de Dados
Em um sistema de gerenciamento de conteúdo, a consulta de posts populares é realizada frequentemente, e a definição de popularidade é baseada em uma combinação de visualizações, comentários e curtidas. Qual das seguintes estratégias é recomendada para otimizar essa consulta recorrente?
Alternativas

Comentários

Veja os comentários dos nossos alunos

Eu achei que essa questão requereu uma análise bem técnica. Ela quer uma estratégia para otimizar a consulta de posts que são realizadas com frequência, baseada na combinação de visualização, comentário e curtida.

Quando falamos em calcular o resultado (popularidade) em tempo de execução, entendemos que a performance vai diminuir, em razão do maior processamento e número de consultas. Já quando falamos em índices, estamos mais propensos a melhorar a performance de consultas de dados já existentes, sem a necessidade de efetuar cálculos sobre os índices (que, nesse caso, diminuiria a performance ,de toda forma). Já a trigger me parece muito próxima da função de cálculo em tempo real, pois de toda forma ela vai precisar ser acionada a cada alteração (um novo post, uma nova curtida ou uma nova visualização, por exemplo). Por essa razão, a alternativa B parece mais viável, uma vez que uma view materializada tem como vantagem o fato de armazenar valores pré calculados, mas sem necessitar que esses valores sejam calculados em tempo real. Isso pode ser feito a cada atualização, por exemplo, baseando-se em um intervalo de tempo. Digamos que armazenar novos valores nessa view a cada hora pode ser mais performático do que processar o cálculo de uma função em tempo real.

Bem, essa foi minha análise após errar a questão.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo