Diferenças entre planos de execução estimados e reais


8

Eu sou novo no SQL Server e quero ajustar minha primeira consulta.

No SQL Server 20xx, qual é a diferença entre "exibir plano de execução estimado" e "incluir plano de execução real"?

Respostas:


6

O plano de execução estimado é gerado com base apenas nas estatísticas que o SQL Server possui - sem realmente executar a consulta. O otimizador de consulta é apenas perguntado o que provavelmente faria com essa consulta, com base em todas as informações que ele tem na consulta e nas distribuições de dados etc.

Isso funciona bem, a consulta não precisa ser executada (o que pode levar muito tempo), mas se as estatísticas estiverem desatualizadas, o plano poderá estar bastante inclinado.

O plano de execução real é exatamente isso - o plano de execução real que foi usado ao executar a consulta. Isso mostrará coisas que podem sugerir estatísticas "desatualizadas", etc. Mas, para obter isso, você deve executar a consulta - o que pode levar muito tempo.


11
Eu teria pensado que a única questão real aqui é em quais casos o plano real não é o estimado. O resto é óbvio, não é?
John

uma pergunta rápida após passar pelo otimizador de consulta e na execução da consulta, se o plano em cache estiver desatualizado, a etapa de otimização da consulta executará novamente as estatísticas de atualização? ou existe outra maneira de gerar plano de execução?
precisa saber é

1

O plano estimado fornecerá como sua consulta será executada no servidor sem realmente executá-la. Isso lhe dará uma idéia se você precisa ajustar para criar um plano melhor ou se o plano estimado parece bom.

O plano real mostra o que realmente aconteceu quando o servidor executou a consulta. Ele inclui detalhes como o número real de linhas de uma tabela, quanta memória é usada se houver uma classificação. Que grau de paralelismo usado durante a execução.

Mas o melhor seria analisar a diferença entre "número estimado de linhas" e "número real de linhas" que você pode ver no plano de execução real. Quanto mais próximos desses dois valores, significa que as estatísticas estão atualizadas e, para determinadas estatísticas, esse é o melhor plano. Nesse caso, a atualização das estatísticas ajudará a gerar um melhor plano estimado e, portanto, um plano real.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.