1
resposta

[Sugestão] Otimização de query

Primeiramente, gostaria de parabenizar a Alura pelo bom curso. Creio que o curso foi bastante produtivo, tentando ao máximo simular um ambiente com muitos dados, possibilitando assim que nós alunos possamos colocar de fato em prática a otimização de queries.

Isto posto, fiquei imaginando, baseado na consulta do relatório utilizado no exemplo do curso (Relatorio-Faturamento-Classificacao.sql), uma situação real. Imaginemos que essa consulta já faz parte de um banco de dados com índices e tabelas com chaves primárias e estrangeiras mantendo a integridade referencial. Imaginemos que essa base de dados possui o triplo de registros e a consulta do relatório leve inicialmente uns 10 segundos para rodar.

Como a consulta é feita baseada em mês e ano, uma provável solução seria criar um índice no campo tb_nota.data. Porém, baseado no arquivo mencionado acima, mesmo que o índice fosse criado, não resolveria o problema porque a query usa funções de conversão de tipos (month e year) para fazer a consulta, o que anularia o efeito do índice. Uma solução seria fazer uma consulta no campo data entre o primeiro e o último dia do mês.

Creio que seria interessante abordar esse tópico no curso.

Desde já agradeço a atenção dispensada.

Felipe Carvalho

1 resposta

Oi Felipe, tudo bem?

Primeiramente, muito obrigado pelo feedback positivo sobre o curso! Fico feliz em saber que você está aproveitando o conteúdo.

Felipe, ao fim do curso, você será direcionado a uma página referente a avaliação do curso, onde poderá avaliar alguns pontos, entre eles o conteúdo. Caso se sinta confortável, você poderá descrever esse ponto.

Agradeço mais uma vez o feedback!

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!