Consultas utilizando Paralelismo

Galera,

Hoje quero passar uma dica bem interessante para vocês de como descobrir quais as consultas que estão utilizando o recurso de paralelismo em seu servidor de banco de dados SQL Server.

É importante lembrar que utilizar paralelismo não é sempre ruim, pois agiliza o tempo de resposta das suas consultas.

O problema ocorre quando um grande número de consultas necessita deste recurso, elevando consideravelmente a utilização de CPU e causando uma fila de espera CXPACKET para outros processos.

A consulta que utilizo para esta análise é a seguinte:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;

WITH XMLNAMESPACES
(DEFAULT ‘http://schemas.microsoft.com/sqlserver/2004/07/showplan’)
SELECT query_plan AS CompleteQueryPlan ,
n.value(‘(@StatementText)[1]’, ‘VARCHAR(4000)’) AS StatementText ,
n.value(‘(@StatementOptmLevel)[1]’, ‘VARCHAR(25)’)
AS StatementOptimizationLevel ,
n.value(‘(@StatementSubTreeCost)[1]’, ‘VARCHAR(128)’)
AS StatementSubTreeCost ,
n.query(‘.’) AS ParallelSubTreeXML ,
ecp.usecounts ,
ecp.size_in_bytes
FROM    sys.dm_exec_cached_plans AS ecp
CROSS APPLY sys.dm_exec_query_plan(plan_handle) AS eqp
CROSS APPLY query_plan.nodes
(‘/ShowPlanXML/BatchSequence/Batch/Statements/StmtSimple’)
AS qn ( n )
WHERE   n.query(‘.’).exist(‘//RelOp[@PhysicalOp=”Parallelism”]’) = 1
ORDER BY StatementSubTreeCost DESC

O resultado desta consulta retorna o comando TSQL e o plano de execução que está utilizando o recurso de paralelismo.

Desta forma é possível realizar uma análise detalhada deste plano de execução e procurar por operadores que possam causar essa utilização excessiva de paralelismo.

Espero que tenham gostado desta dica rápida e não deixe de inscrever-se no blog para receber todas as atualizações.

Grande abraço.

Anúncios
  1. Augusto dos Santos
    18/03/2014 às 10:35

    Otima dica.

    • 18/03/2014 às 10:36

      Grande Augusto.

      Fico feliz que tenha gostado.

      Grande abraço.

  2. Cesar Hermann
    19/03/2014 às 15:00

    Já está anotado para futuras utilizações.

    • 19/03/2014 às 15:25

      Grande Cesar.

      Se quiser sugerir algum assunto para os próximos posts, fique a vontade.

      Grande abraço.

  3. 04/12/2015 às 15:57

    ótima dica!

    • 04/12/2015 às 19:13

      Grande Nilton, tudo bem?

      Fico extremamente contente que tenha gostado do artigo.

      Caso necessite de qualquer ajuda é só falar comigo.

      Grande abraço.

  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: