Por que eu devo ler este artigo:O SQL Server é um sistema robusto e eficiente, capaz de identificar excelentes maneiras de acessar os dados solicitados por uma consulta, deixando como principal preocupação ao desenvolvedor a de identificar quais dados necessita, não de como esses dados serão recuperados. No entanto, isso não nos impede de interferir na maneira com que o SQL toma essa decisão. Entender os componentes acionados quando uma consulta é requisitada é o primeiro passo que um desenvolvedor deve tomar para realizar processos de tuning eficientes. Esse artigo visa mostrar como funciona o processamento de uma consulta no SQL Server, identificando os principais mecanismos e componentes desse sistema e demonstrando como interagem entre si para que a requisição seja realizar de forma rápida e consistente. Entender o funcionamento – ainda que teórico – do processamento de uma consulta é o primeiro passo que o profissional de banco de dados deve tomar para que possa realizar os processos de tuning e troubleshooting em seu sistema.

Otimização de banco de dados é uma tarefa que desperta cada vez mais interesse em profissionais de TI, sobretudo aqueles que trabalham diretamente com banco de dados, como DBAs e analista de dados. O fato é que poucas coisas são tão valorizadas em uma empresa como possuir um sistema que possa disponibilizar informações úteis para tomadas de decisão de forma rápida e consistente, e ao mesmo tempo possuir uma plataforma que possa prover uma solução robusta para seus clientes. E tudo isso começa no banco de dados.

No entanto, códigos legados, aumento não previsto na quantidade de clientes e consequentemente na quantidade de dados, são algumas situações corriqueiras encontradas nas empresas. Isso, aliado ao fato de o processo de tuning – como comumente é chamado o processo de otimização de banco de dados – geralmente exigir pouco recurso e possuir uma resposta imediata à lentidão de qualquer sistema, faz com que ele se torna cada vez mais imprescindível em qualquer empresa.

Porém, devido a esses mesmos fatores, muitas vezes, é necessário realizar esse processo em um pequeno espaço de tempo, com o menor nível de acesso, realizando as menores alterações possíveis. Outro fato constante em um ambiente legado ou em sistemas muito amplos e confusos em geral, é que identificar a causa da lentidão pode ser uma tarefa muito mais difícil do que a otimização propriamente dita. Dessa forma, a grande questão muitas vezes fica sendo: como realizar o processo de tuning de forma eficiente e no menor tempo possível?

Talvez, uma das melhores respostas para essa pergunta seja: conheça o sistema e, acima de tudo, conheça suas ferramentas. O SQL Server disponibiliza muitas informações sobre o processo de execução de uma consulta, muitas delas são salvas por padrão e podem ser acessadas de diversas formas. Essas informações são indispensáveis para que qualquer profissional de banco de dados possa identificar gargalos e otimizar processos, no entanto, compreender essas informações é tão importante quanto possuí-las, e o primeiro passo para compreender o que está acontecendo em seu sistema é compreender como o SQL processa uma consulta. Porém, antes de começarmos a destrinchar o trabalho interno do SQL Server no processamento de uma requisição, devemos entender alguns conceitos básicos do ambiente de banco de dados.

Tra ...
Quer ler esse conteúdo completo? Tenha acesso completo