Otimização de consulta no banco
04/10/2016
0
Olá pessoal, estou com uma dúvida aqui, que estou precisando de ajuda para resolver. Acredito que em breve precisarei otimizar consultas no sql server, pois o banco contém muitos registros e me preocupo em acontecer lentidões excessivas nas consultas dos usuários. Segue um exemplo.
Tem como otimizar esse select?
SELECT * FROM USUARIOS U JOIN PERFIL P ON U.ID_USUARIO = P.ID_USUARIO
Tem como otimizar esse select?
Calebe Menezes
Curtir tópico
+ 0
Responder
Post mais votado
04/10/2016
Bom dia Calebe.
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
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
Responder
Mais Posts
07/10/2016
João Françozo
Bom dia,
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....
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....
Responder
20/10/2016
Calebe Menezes
Opaaa ajudaram muito essas otimizações que vocês citaram. Deu um pequena diferença, mas notável.
Não sei se tem como otimizar mais, mas já ajudou bastante!
Não sei se tem como otimizar mais, mas já ajudou bastante!
Responder
Clique aqui para fazer login e interagir na Comunidade :)