top of page
Foto do escritorcaiobuzo

Ciclo de vida de uma query (SQL Server) - Parte 4

Faaala galera! Todos bem? Feliz ano novo para todos, que 2024 seja um ótimo ano a todos nós!

Hoje vamos dar continuidade a serie de postagens sobre o ciclo de vida de uma query no SQL Server, estamos chegando quase no final dessa história (ou será que não? hehe). Você também pode ver o post1, post2 e o post3 dessa serie.


Pois bem, o SQL Server através do Query optimizer gerou o melhor plano de execução que ele conseguiu para que a query seja executada, depois disso ele passa a bola para o nosso protagonista hoje que é o Query Executor.



Nessa etapa do Query executor, já temos tudo pronto:

  • O CMD Parser já validou a sintaxe e o nome dos objetos (processo conhecido como ALGEBRIZER)

  • Verificado se existe um plano de execução no plan cache que atenda a query (caso encontre já vai direto para o query executor pulando o query optimizer)

  • Query optimizer gerou um plano (caso ele não exista)


Ou seja, basta de fato executar! E esse é o papel desse componente, simples e direto assim.

E aqui nessa fase vamos expandir uma outra estrutura em próximos posts. O Query Executor faz interação com o mecanismo de armazenamento para manusear os dados em si, seja lendo ou alterando/inserindo/deletando.

É importante destacar que esse passo separa os comandos a serem executados em 2 grupos: DML e DDL. Cada um deles provoca um tipo de interação e comportamento do Query Executor (no próximo post falaremos mais sobre isso).


Por fim, após executar a query, o retorno dela é endereçado novamente ao SNI (protocol layer) que devolve para a aplicação o resultado.


Para completar a nossa analogia com o restaurante o Query Executor é o cozinheiro que esta fazendo o prato em si, ele já recebeu todos os ingredientes e a receita que o chefe do restaurante passou(plano de execução), ele é quem executa a ação na pratica e depois chama o garçom (SNI) para levar o prato até a mesa do cliente no restaurante.


O Fluxo fica assim

APP >> SNI >> CMD Parser >> Plan Cache >> Query Executor >> SNI >> APP

Cliente >> Garçom >> Chefe da cozinha >> Cozinheiro >> Garçom >> Cliente


Alternativamente podemos ter

APP >> SNI >> CMD Parser >> Query Optimizer >> Query Executor >> SNI >> APP

Cliente >> Garçom >> Chefe da cozinha >> Chefe da cozinha cria receita >> Cozinheiro >> Garçom >> Cliente


Se você quer aprender muito mais e ser um(a) DBA SQL Server Jr faça parte da Iniciativa DBA (Saiba mais) !

Ebook 10 passos para ser um DBA SQL Jr (Saiba mais)!


Nos acompanhe em nossas redes sociais!

Grupo VIP Telegram: DBA On boarding 

Youtube: DBA On boarding 

Face & Instagram: DBA On boarding 


Até a próxima, tchau!

179 visualizações0 comentário

Posts recentes

Ver tudo

Comments


bottom of page