Dúvidas do DBA

Encontrar as consultas que estão utilizando paralelismo – SQL Server

Encontrar as consultas que estão utilizando paralelismo - SQL Server
Encontrar as consultas que estão utilizando paralelismo – SQL Server

Como encontrar as consultas que estão utilizando paralelismo.

O que é paralelismo?

Você provavelmente já ouviu a frase “uma mão lava a outra e as duas lavam o rosto. A ideia é que dividir uma tarefa entre um número de pessoas resulta em cada pessoa fazendo menos. Do ponto de vista do indivíduo, o trabalho parece muito mais fácil, mesmo que uma quantidade similar de trabalho esteja sendo feita em geral. Mais importante ainda, se as pessoas extras podem realizar a alocação de trabalho ao mesmo tempo, o tempo total necessário para a tarefa é reduzido.

Agora falando de tecnologia as pessoas seriam os núcleos dos processadores trabalhando juntas em prol de um objetivo. A consulta que eu vou deixar abaixo para vocês, verifica dentro dos planos de execução a utilização do paralelismo.

SELECT
 p.dbid AS IDBancoDeDados,
 p.objectid AS IDobjeto,
 p.query_plan AS PlanoDeExecucao,
 q.TEXT AS TextoDaConsulta,
 cp.usecounts QuantidadeDeExec,
 cp.size_in_bytes AS TamanhoEmBytes,
 cp.plan_handle AS PlanHandle
FROM sys.dm_exec_cached_plans cp
CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle) AS p
CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) AS q
WHERE cp.cacheobjtype = 'Compiled Plan'
AND p.query_plan.value('declare namespace
p="http://schemas.microsoft.com/sqlserver/2004/07/showplan"; max(//p:RelOp/@Parallel)', 'float') > 0

Lembrando que, se uma consulta é executada em paralelo, significa que é uma consulta que o SQL Server pensa que é grande o suficiente para ser executado em paralelo. MAX_DOP e cost_threshold_for_parallelism conduzem o comportamento. MAX_DOP deve ser configurado para corresponder o número de processadores físicos no servidor, se necessário.

O próximo passo é entender o que fazer quando você os encontrar essas consultas que utilizam paralelismo verifique a indexação no DTA para obter recomendações, simplifique a consulta, remova ORDER BYs e GROUP BYs, se não forem necessários estas são algumas dicas para ajudá-lo.

Grande Abraço!

Encontrar as consultas que estão utilizando paralelismo – SQL Server
The following two tabs change content below.

Wesley Mota

DBA SQL Server
Profissional graduado em Banco de Dados e Sistemas de Informação com mais de 7 anos de experiência em empresas de software. Certificado MCSA Microsoft SQL Server possui intensa vivência em administração de banco de dados, Tunning, Performance SQL Server, levantamento de melhorias e monitoramento de banco de dados e servidores SQL Server. Consultoria SQL Server em diversos clientes no Brasil e ao redor do mundo. Escritor no blog dbasqlserverbr.com.br/blog. Onde compartilha conhecimento, experiências e dicas de performance para DBAs SQL Server. Conhecimentos em Oracle e ambientes de alta disponibilidade. Desenvolvimento de softwares web e mobile.Gerenciamento de equipe e projetos.