Três passos básicos para começar a otimizar suas queries

Se você trabalha com banco de dados, já ouviu a frase: "esta query está lenta, você pode melhorá-la?" ou algo parecido, mexeu na query e ela passou a rodar mais rápido... Parabéns! Bem vindo ao mundo dos DBAs!

Neste post quero falar sobre três passos básico que um DBA pode seguir quando começa a analisar um banco de dados que apresenta problemas de performance. Vou falar do grande herói da performance: o índice. E, que me desculpem seus fãs, mas o índice também pode se tornar o vilão do seu banco de dados.

IMPORTANTE: execute os scripts abaixo primeiro no seu ambiente de desenvolvimento, familiarize-se com o código e seu resultado. Quando se sentir seguro com a interpretação dos resultados, aí sim execute-os em produção.

Quando temos uma query lenta, uma das primeira coisas que devemos olhar são os índices e as estatísticas de cada tabela citada na query.

Índices faltantes Normalmente. problemas de performance estão associadas aos índices. Se seu banco de dados tem muitos índices faltantes, você pode executar este script, analisar seu resultado e criar os índices sugeridos pelo SQL Server:

Índices não utilizados

Se você tem índices que não utiliza no seu banco de dados, eles farão mais mal do que bem. É uma boa ideia removê-los. Este script traz uma lista dos índices que não foram utilizados desde a última inicialização do serviço do SQL Server.

Você se atentou a esta frase: "... índices que não foram utilizados desde a última inicialização do serviço do SQL Server"? Isso mesmo. Se você reiniciou o serviço do SQL Server há 10 minutos, então é bem provável que a grande maioria dos seus índices apareçam nesta consulta. Por isso, antes de sair por aí excluindo índices, verifique com cuidado seus scripts.Quanto mais tempo o SQL Server estiver no ar, mais realista o resultado.

Wait Types Statistics do SQL

Para melhorar a performance do seu SQL Server, é importante entender onde estão os gargalos de performance. Com a ajuda das Wait Statistics do SQL Server, nós podemos identificar esses gargalos. Uma vez identificados com o script abaixo, nós podemos corrigir esses problemas. Na dúvida de como tratar cada wait statistics, existem centenas de artigos na Internet que podem te ajudar em cada um deles.

Este script traz uma lista dos wait types desde a última inicialização do serviço do SQL Server ou da limpeza de estatísticas.

Você se atentou a esta frase: "... última inicialização do serviço do SQL Server ou da limpeza de estatísticas"? Sim, é a mesma coisa do item acima.Se você reiniciou o serviço do SQL Server há 10 minutos, então o resultado desta query está compromotido. Quanto mais tempo o SQL Server estiver no ar, mais realista o resultado.

No meu passeio pelos blogs de SQL Server espalhados por ai, fui surpreendida com um post fantástico do guru Paul Randal no blog SQLSkills. Ele documentou 897 wait types, detalhando 170 deles. Um trabalho impecável, que vai ajudar muito qualquer profissional que trabalhe com SQL Server e queira analisar a fundo o que está acontecendo com seu ambiente.

Para acessar o texto (em inglês), clique aqui.

Estes três scripts são apenas uma introdução para você começar a entender como otimizar suas queries e como procurar os gargalos de performance. Se precisar de ajuda ou quiser contratar um serviço de otimização de seu ambiente, entre em contato comigo pelo email ignez.mello@outlook.com.

Até a próxima!

Posts Em Destaque
Posts Recentes
Arquivo
Procurar por tags