Eu tenho uma consulta dinâmica que usa um plano paralelo, embora o custo seja inferior a 5.
O Limite de Custo para Paralelismo é definido como padrão de 5 e MAXDOP é 0.
SELECT Column1, Column2 Column3, Column4 AS Column5, Column6 Column7, Column8 Column9, Column10 Column11
FROM (
SELECT Column12,
Column13,
Column1
FROM Database1.Schema1.Object1
) Object2 PIVOT( SUM(Column13) FOR Column12 IN (Column2, Column4, Column6, Column8, Column10) ) AS pvtScore;
A captura de tela a seguir mostra o custo estimado da subárvore como 1,39.
Estou me perguntando por que o plano paralelo foi usado quando o limite de custo está em 5 para o paralelismo entrar em ação.
Versão: SQL Server 2008 R2
Isso pode ser confuso quando você está analisando os planos paralelos pela primeira vez. A coisa a ter em mente é que o otimizador baseado em custo escolhe o que ele estima que será a consulta mais barata a ser executada. Nem sempre está certo, mas ei, não é ciência de foguetes .
Como um exemplo simples, aqui estão duas consultas de contagem. Um tem permissão para ir em paralelo, o outro é forçado a ser executado em série.
Seus planos de consulta têm as informações de que precisamos:
O plano serial custa 121 dólares de consulta e o plano paralelo custa 69.