25 dicas para melhorar o desempenho da consulta SQL

cada Cliente/ Usuário sempre quer uma resposta rápida em seu processo de recuperação de dados. Portanto, precisamos projetar um bom banco de dados que forneça o melhor desempenho durante a manipulação de dados, o que resulta no melhor desempenho de um aplicativo. No entanto, não há uma maneira direta de definir o melhor desempenho, mas podemos escolher várias maneiras de melhorar o desempenho da consulta SQL, que se enquadra em várias categorias, como criação de índices, uso de junções e reescrever uma subconsulta para usar JOIN, etc.Como desenvolvedor, sabemos que qualquer consulta SQL pode ser escrita de várias maneiras, mas devemos seguir as melhores práticas/ técnicas para obter um melhor desempenho da consulta. Estou destacando alguns deles abaixo:

1. O uso existe em vez de IN para verificar a existência de dados.
2. Evite * na instrução SELECT. Dê o nome das colunas que você precisa.
3. Escolha o tipo de dados apropriado. Por exemplo, para armazenar strings, use varchar no lugar do tipo de dados de texto. Use o tipo de dados de texto, sempre que precisar armazenar dados grandes (mais de 8000 caracteres).
4. Evite nchar e nvarchar, se possível, uma vez que ambos os tipos de dados levam apenas memória dupla como char e varchar.
5. Evite NULL no campo de comprimento fixo. Em caso de exigência de NULL, use o campo variable-length (varchar) que ocupa menos espaço para NULL.
6. Evite Ter Cláusula. Ter cláusula é necessária se você deseja filtrar ainda mais o resultado de um agregações.
7. Crie índices clusterizados e não clusterizados.
8. Mantenha o índice agrupado pequeno, pois os campos usados no índice agrupado também podem ser usados no índice não agrupado.
9. A maioria das colunas seletivas deve ser colocada mais à esquerda na chave de um índice não agrupado.
10. Solte os índices não utilizados.
11. Melhor criar índices em colunas que tenham valores inteiros em vez de caracteres. Os valores inteiros usam menos sobrecarga do que os valores de caracteres.
12. Use junções em vez de subconsultas.
13. Use expressões WHERE para limitar o tamanho das tabelas de resultados criadas com junções.
14. Use TABLOCKX ao inserir em uma tabela e TABLOCK durante a fusão.
15. Use com (NOLOCK) enquanto consulta os dados de qualquer tabela.
16. Use Set NOCOUNT ON e use TRY-CATCH para evitar a condição de impasse.
17. Evite Cursores, pois o cursor é muito lento no desempenho.
18. Use a variável de tabela no lugar da tabela Temp. O uso de tabelas temporárias exigiu interação com o banco de dados TempDb, que é uma tarefa de tempo.
19. Use União tudo no lugar da União, se possível.
20. Use o nome do esquema antes do nome dos objetos SQL.
21. Use o procedimento armazenado para dados usados com frequência e consultas mais complexas.
22. Mantenha a transação o menor possível, pois a transação bloqueia os dados das tabelas de processamento e pode resultar em deadlocks.
23. Evite o prefixo ” sp_ ” com o nome do procedimento armazenado definido pelo usuário porque o SQL server Primeiro pesquisa o procedimento definido pelo usuário no banco de dados mestre e depois no banco de dados de sessão atual.
24. Evite o uso de sub Query escalar não correlacionada. Use essa consulta como uma consulta separada em vez de parte da consulta principal e armazene a saída em uma variável, que pode ser referida na consulta principal ou na parte posterior do lote.
25. Evite funções com valor de tabela multi-instrução (TVFs). Os TVFs com várias declarações são mais caros do que os TVFs em linha.

Aprendizagem Feliz!

Write a Comment

O seu endereço de email não será publicado.