Fórum Otimização de consulta no banco #563530
04/10/2016
0
SELECT * FROM USUARIOS U JOIN PERFIL P ON U.ID_USUARIO = P.ID_USUARIO
Tem como otimizar esse select?
Calebe Menezes
Curtir tópico
+ 0Post mais votado
04/10/2016
Primeiro passo para otimizar é tirar esse * (asterisco) dai.
Depois verificar a quantidade de registro de cada uma dessas tabelas.
Ver a real necessidade desse JOIN.
Por ultimo ver se tem a necessidade de criar um índice. (tem prós e contras)
No menu do SQL você tem uma opção chamada "Display Estimated Execution Plan".
Essa funcionalidade vai te ajudar a encontrar o gargalo na sua query.
Lembrando que quanto menor o Cost / Custo, melhor.
Grande abraço
Luiz Santos
Gostei + 2
Mais Posts
07/10/2016
João Françozo
Para melhorar a sua query, primeiramente faz o que a Calebe falou, só que ao invés de rodar a Display Estimated Execution Plan, roda já INCLUDE ACTUAL EXECUTION (Ctrl + M).
A diferença das opções é que o Display Estimated Execution Plan é apenas estimativa, vai se basear nas suas estatística, caso ela estiver desatualizada não pode ser real o resultado, já o Actual é preciso rodar a query.
Para otimizar seu ambiente tem vários fatores segue alguns.
1 - Configuração da memoria da instancia;
2 - Configuração do Banco de dados;
3 - Configuração das bases padrões;
4 - Analise de Index;
5 - Query ruins;
6 - Sempre atualizar as estatística;
7 etc....
Gostei + 0
20/10/2016
Calebe Menezes
Não sei se tem como otimizar mais, mas já ajudou bastante!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)