Descobrindo se os seus planos de execução estão sendo reutilizados no SQL Server

Quer saber se os seus planos de execução que estão em cache no SQL Server estão sendo reutilizados?

Para visualizar a quantidade e porcentagem de planos de execução que estão sendo reutilizados basta executar a consulta abaixo:


DECLARE @singleExec BIGINT;
DECLARE @multipleExec BIGINT;
DECLARE @totalExec BIGINT;

SELECT @singleExec = COUNT(*)
FROM sys.dm_exec_query_stats s
WHERE execution_count = 1
SELECT @totalExec = COUNT(*)
FROM sys.dm_exec_query_stats s

SET @multipleExec = @totalExec - @singleExec

SELECT @totalExec AS totalExec, @multipleExec AS multipleExec, @singleExec AS singleExec
UNION ALL
SELECT 100 AS totalExec, ((@multipleExec * 100) / @totalExec) AS multipleExec, ((@singleExec * 100) / @totalExec) AS singleExec

Resultado:

Screen Shot 2017-08-24 at 03.21.28

Primeira linha: #

Segunda linha: %

totalExec: Total de planos de execução em cache.

multipleExec: Total de planos de execução em cache que foram reutilizados.

singleExec: Total de planos de execução em cache que foram utilizados apenas uma única vez.

Se este script foi útil para você avalie na galeria de scripts da TechNet por gentileza: https://gallery.technet.microsoft.com/SQL-Server-Get-Plan-Reuse-412de376

Obrigado! Espero que tenham gostado. Até a próxima!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s