Durante a fase de otimização de consultas SQL em um banco de dados relacional, um desenvolvedor notou que uma consulta que une três tabelas grandes e filtra por uma coluna não indexada está apresentando um desempenho insatisfatório. A consulta frequentemente acessa essa tabela para extrair dados agregados e filtrados por um intervalo de datas. Qual das estratégias de otimização a seguir seria a MAIS eficaz para melhorar o desempenho dessa consulta, considerando a natureza do problema?
- A)Adicionar um índice composto nas três tabelas envolvidas na junção.
- B)Criar uma view materializada (Materialized View) para pré-computar os resultados da junção e agregação.gabarito
- C)Utilizar a cláusula `HAVING` em vez de `WHERE` para filtragem pós-agregação.
- D)Implementar uma partição por hash na tabela principal para distribuir os dados igualmente.
- E)Refatorar o código-fonte da aplicação para reduzir o número de vezes que a consulta é executada.