msdn31_capa.jpg

Clique aqui para ler todos os artigos desta edição

 

10 dicas sobre SQL Server que todo desenvolvedor deveria saber

Nilton Pinheiro

Este artigo discute

Este artigo usa as seguintes tecnologias

·        Querys;

·        SubSelects e Joins;

·        Planos de Execução;

·        Dicas Avançadas de banco de dados

 

SQL Server.

 

Trabalhando como DBA de ambiente corporativo há mais de 5 anos, tenho visto coisas que até o menos experiente desenvolvedor SQL Server acreditaria. Por exemplo, todo desenvolvedor que programa para SQL Server sabe, ou pelo menos deveria saber, que um dos principais requisitos para garantir o bom desempenho de sua query, é analisar o plano de execução da mesma e garantir que essa esteja fazendo uso adequado dos índices da tabela.

No entanto, o que tenho constatado no meu dia a dia, é que ainda são muitos os desenvolvedores que se quer se preocupam com os índices da tabela. O que se percebe, é que pelo menos no primeiro momento, o desenvolvedor está mais preocupado em fazer sua query funcionar e entregar as informações para usuário.

Como resultado, em médio prazo tem-se, alto consumo dos recursos do servidor e a tão detestada lentidão na aplicação. É claro que existem muitos outros pontos que degradam o desempenho de uma aplicação, como por exemplo: estatísticas de acesso a dados desatualizadas, bloqueio de conexões (na maioria das vezes devido a falta de índices), excessiva utilização de cursores etc.

Mas podem ter certeza, a má utilização de índice e até a ausência deles é a maior causa dos problemas de desempenho em aplicações SQL Server. Neste artigo estarei apresentando 10 dicas importantes que todo desenvolvedor deve saber quando trabalhar com o SQL Server.

Dicas sobre como analisar o plano de execução, métodos para a substituição de cursores, utilização de subqueries, utilização de coluna indexada na cláusula where, em fim, dicas que com certeza lhe ajudarão a tirar um maior proveito do SQL Server.

Bom, dada essa pequena introdução, vamos ao que interessa.

1. Sempre analise o plano de execução das queries.

Como eu disse anteriormente, a análise do plano de execução é um dos principais requisitos para garantir o bom desempenho da query. O plano de execução descreve o caminho utilizado pelo otimizador do SQL Server para chegar até os dados solicitados e mostra quais operações foram executadas durante o processamento da query.

No plano de execução, cada operação é representada por um ícone e um conjunto de setas que unem esses ícones. Isso torna fácil entender as características de desempenho de uma query.

Para ver o plano de execução de uma query, entre no Query Analyzer do SQL Server 2000 ou Query Editor do SQL Server 2005, escreva a query e tecle Ctrl+L ou selecione a opção de menu Query>Display Estimated Execution Plan na barra de menus.

Você notará que a query não será efetivamente executada, somente ocorrerá antes a criação do plano de execução. Ao analisar um plano de execução, você deve ter em mente que ele é gerado baseando-se nas estatísticas existentes para a tabela ou índices utilizados pela query, por isso é muito importante que ao analisar o plano de execução as estatísticas de acesso aos objetos estejam atualizadas.

Se as estatísticas não estiverem atualizadas o plano de execução será gerado em cima de dados inconsistentes que podem não refletir a realidade. Você sempre deve atualizar as estatísticas após realizar operações que movimentam grandes volumes de dados ou criação e alteração de índices.

Na Figura 1 temos o exemplo do plano de execução de uma query executada sobre as tabelas Publishers e Title do banco de dados Pubs do SQL Server 2000.

 

image002.jpg

Figura 1. Exemplo de um plano de execução

Observe que cada ícone representa uma operação específica e as setas indicam o caminho a seguir. A seta vermelha indica que a análise sempre deve ser realizada da direita para a esquerda e de cima para baixo.

 

Plano de Execução

...

Quer ler esse conteúdo completo? Tenha acesso completo