Dicas

7 Dicas Para Aumentar o Desempenho de Consultas do SQL Server

Os desenvolvedores não prestam tanta atenção quanto deveriam ao ajuste de consulta SQL ao reduzir os tempos de resposta para aplicativos web. Aqui estão algumas dicas de como aumentar o desempenho de consultas SQL.

Quando vejo otimizações de desempenho para reduzir os tempos de resposta para aplicativos Web, as alterações geralmente são feitas na camada do aplicativo ou verificando a existência do índice nas colunas da tabela do banco de dados.

Mesmo arquitetos e desenvolvedores especialistas tendem a esquecer que entender como os bancos de dados funcionam internamente e escrever consultas SQL melhores é muito importante para obter um melhor desempenho.

Aqui estão sete dicas simples que aumentarão o desempenho de suas consultas SQL.

1. Proprietário (dbo. ou outro schema)

Prefixe sempre os nomes dos objetos (por exemplo, nome da tabela, nome do procedimento armazenado, etc.) com seu nome de proprietário.

Pois se o nome do proprietário não for fornecido, o mecanismo do SQL Server tentará localizá-lo em todos os esquemas até que o objeto o encontre. Assim, o mecanismo do SQL Server não pesquisará a tabela fora de seu proprietário se o nome do proprietário for fornecido.

2. O Operador *

Não use o  *  operador em suas SELECT declarações. Em vez disso, use nomes de colunas.

Já que o SQL Server verifica todos os nomes de coluna e substitui o * com todos os nomes de coluna da (s) tabela (s) na SELECT instrução SQL. Assim, fornecer nomes de coluna evita essa pesquisa e substituição e melhora o desempenho.

3. Colunas NULL

Não use NOT IN ao comparar com colunas NULL. Use NOT EXISTS em vez disso.

Pois quando NOT IN é usado na consulta (mesmo se a consulta não retornar linhas com valores nulos), o SQL Server verificará cada resultado para ver se é nulo ou não. Portanto, usando NOT EXISTS não fará a comparação com nulos.

4. Tabela de Variáveis ​​e Joins

Não use variáveis ​​de tabela em joins. Use tabelas temporárias, CTEs (Common Table Expressions) ou tabelas derivadas em junções.

Motivo: Embora as variáveis ​​de tabela sejam muito rápidas e eficientes em muitas situações, o mecanismo do SQL Server a vê como uma única linha.

Sendo assim, eles executam mal quando usados ​​em junções. CTEs e tabelas derivadas tem melhor desempenho com junções em comparação com variáveis ​​de tabela.

5. Nomes das procedures

Não comece o nome das suas procedures com sp_.

Já que, quando a procedure é nomeado  sp_ ou  SP_, o SQL Server sempre verifica no banco de dados do sistema/mestre, mesmo se o nome do proprietário/esquema é fornecido.

Fornecer um nome sem SP_  a um procedimento armazenado evita essa verificação desnecessária no banco de dados do sistema/mestre no SQL Server.

6. Use SET NOCOUNT ON

Use  SET NOCOUNT ON com operações DML.

Motivo: Ao executar operações DML (ou seja INSERT,  DELETE,  SELECT, e  UPDATE), SQL Server sempre retorna o número de linhas afetadas.

Em consultas complexas com muitas associações, isso se torna um grande problema de desempenho. Usar SET NOCOUNT ON irá melhorar o desempenho porque não contará o número de linhas afetadas.

7. Evite um usar GROUP BY, ORDER BY e DISTINCT

Evite usar GROUP BY,  ORDER BYDISTINCT tanto quanto possível.

Pois ao usar GROUP BY,  ORDER BYou  DISTINCT, o mecanismo do SQL Server cria uma tabela de trabalho e coloca os dados na tabela de trabalho.

Sendo assim, ele organiza esses dados na tabela de trabalho, conforme solicitado pela consulta, e retorna o resultado final.

Use GROUP BY,  ORDER BYou  DISTINCT na sua consulta somente quando for absolutamente necessário.

Conclusão

Aplicativos complexos e grandes geralmente criam requisitos complexos. Isso nos leva a escrever consultas SQL complexas. Essas simples alterações nas consultas do SQL Server farão uma enorme diferença nos tempos de resposta.

Por fim, obrigado por ler o meu artigo. Espero que tenha sido útil!

7 Dicas Para Aumentar o Desempenho de Consultas do SQL Server
The following two tabs change content below.

Wesley Mota

DBA SQL Server
Profissional graduado em Banco de Dados e Sistemas de Informação com mais de 7 anos de experiência em empresas de software. Certificado MCSA Microsoft SQL Server possui intensa vivência em administração de banco de dados, Tunning, Performance SQL Server, levantamento de melhorias e monitoramento de banco de dados e servidores SQL Server. Consultoria SQL Server em diversos clientes no Brasil e ao redor do mundo. Escritor no blog dbasqlserverbr.com.br/blog. Onde compartilha conhecimento, experiências e dicas de performance para DBAs SQL Server. Conhecimentos em Oracle e ambientes de alta disponibilidade. Desenvolvimento de softwares web e mobile.Gerenciamento de equipe e projetos.

Latest posts by Wesley Mota (see all)

Wesley Mota

Profissional graduado em Banco de Dados e Sistemas de Informação com mais de 7 anos de experiência em empresas de software. Certificado MCSA Microsoft SQL Server possui intensa vivência em administração de banco de dados, Tunning, Performance SQL Server, levantamento de melhorias e monitoramento de banco de dados e servidores SQL Server. Consultoria SQL Server em diversos clientes no Brasil e ao redor do mundo. Escritor no blog dbasqlserverbr.com.br/blog. Onde compartilha conhecimento, experiências e dicas de performance para DBAs SQL Server. Conhecimentos em Oracle e ambientes de alta disponibilidade. Desenvolvimento de softwares web e mobile.Gerenciamento de equipe e projetos.

Share
Published by
Wesley Mota

Recent Posts

Utforska Topplista: Casinon utan licens med flest Megaways-slots

Utforska Topplista: Casinon utan licens med flest Megaways-slotsDet är ingen hemlighet att Megaways-slots har blivit…

4 dias ago

Comment obtenir de laide sous Windows 10 ?

ContentCultivo del pimiento¿Cómo beneficia la salud el pimentón ahumado?Enfermedades causadas por bacterias y virusPimentón de…

6 dias ago

NUEVOS JUEGOS ¡Juega Gratis Online!

Content¿Cuáles son los mejores Nuevos Juegos gratuitos online?Qué es Poki? Ofrecemos acceso instantáneo a todos…

2 semanas ago

Il Camilleri-linguaggio

ContentErzählen Sie Ihre Geschichte: von Kampanien bis ins Herz Brasiliens, die Geschichte der Familie LandriEl…

2 semanas ago

Apartamento com 1 quarto na Avenida Beira Mar, 001, Boa Viagem, Recife PE ID: 26822915

ContentPrefeitura anuncia novo polo no Parque Eduardo Campos, no Pina, e espalha shows pela cidadeMarilia…

2 semanas ago

Tübingen entdecken Universitätsstadt Tübingen

ContentStadtrundgänge Die Universitätsstadt Tübingen sucht seeger tübingen juwelier regelmäßig Verwaltungskräfte in verschiedenen Organisationseinheiten. Die Universitätsstadt…

2 semanas ago