Opção cost threshold for parallelism

Use a opção cost threshold for parallelism para especificar o limite no qual o Microsoft SQL Server cria e executa planos paralelos para consultas. O SQL Server cria e executa um plano paralelo para uma consulta somente quando o custo estimado para executar um plano serial para a mesma consulta é mais alto do que o valor definido em cost threshold for parallelism. O custo faz referência a um tempo decorrido estimado em segundos, exigido para a execução do plano serial em uma configuração de hardware específica. Só defina cost threshold for parallelism em multiprocessadores simétricos.

Consultas mais longas geralmente se beneficiam de planos paralelos; a vantagem do desempenho nega o tempo adicional exigido para inicializar, sincronizar e concluir planos paralelos. A opção cost threshold for parallelism é ativamente usada quando uma mescla de consultas curtas e longas é executada. As consultas curtas executam planos seriais, ao passo que as consultas mais longas usam planos paralelos. O valor do cost threshold for parallelism determina quais consultas são consideradas curtas e que devem, portanto, ser executadas com planos seriais.

Em certos casos, pode ser escolhido um plano paralelo, embora o plano de custo da consulta seja menor do que o valor atual do cost threshold for parallelism. Isso pode acontecer pois a decisão de usar um plano paralelo ou serial tem base em uma estimativa de custo fornecida antes que a otimização completa seja concluída

A opção cost threshold for parallelism pode ser definida como qualquer valor de 0 a 32.767. O valor padrão é 5.

O SQL Server ignora o valor do cost threshold for parallelism nas seguintes condições:

  • Seu computador só tem um processador.

  • Somente uma única CPU está disponível para o SQL Server devido à opção de configuração affinity mask.

  • A opção max degree of parallelism é definida como 1.

    ObservaçãoObservação

    Se a opção de consulta MAXDOP for usada, SQL Server não ignorará o valor cost-threshold-for-parallelism.

A opção cost threshold for parallelism é uma opção avançada. Se você estiver usando o procedimento armazenado do sistema sp_configure para alterar a configuração, poderá alterar cost threshold for parallelism apenas quando show advanced options estiver definida como 1. A configuração entra em vigor imediatamente (sem reiniciar o servidor).

Exemplo

O exemplo a seguir define o limite de custo para paralelismo como 10 segundos.

sp_configure 'show advanced options', 1;

GO

reconfigure;

GO

sp_configure 'cost threshold for parallelism', 10;

GO

reconfigure;

GO