Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Managed Instance
Este artigo descreve como configurar a opção de configuração do servidor no SQL Server usando o cost threshold for parallelism SQL Server Management Studio ou o Transact-SQL.
Sobre o limiar de custo para execução paralela
A cost threshold for parallelism opção especifica o limite no qual o SQL Server considera planos paralelos em computadores com mais de um processador lógico. A cost threshold for parallelism opção pode ser definida para qualquer valor de 0 a 32.767.
Custo é a soma dos custos estimados do operador em um plano de consulta (por exemplo, CPU e E/S). É uma medida relativa usada apenas para a seleção de planos; ele não mede o tempo de execução real.
Certos componentes Transact-SQL podem inibir um plano paralelo. Por exemplo, UDFs (funções definidas pelo usuário) escalares não alinháveis, modificações de variáveis de tabela e determinadas chamadas do sistema. O SQL Server avalia alternativas paralelas somente quando o custo estimado do melhor plano serial excede o cost threshold for parallelism valor e, em seguida, pode escolher um plano paralelo mais barato.
Limitações
O SQL Server ignora o cost threshold for parallelism valor nas seguintes condições:
O seu computador tem apenas um processador lógico.
Apenas um único processador lógico está disponível para o SQL Server devido à
affinity maskopção de configuração.A
max degree of parallelismopção de configuração do servidor está definida como1.
Recommendations
Esta opção é uma opção avançada e deve ser alterada apenas por um profissional de banco de dados experiente.
O valor padrão de 5 é um ponto de partida, não uma recomendação. Em sistemas modernos de SQL Server, aumentar essa configuração pode ajudar a manter consultas OLTP menores em execução com planos seriais. Use pequenos incrementos e observe um ciclo de negócios completo antes de novas alterações. Execute testes de aplicativos com valores mais altos e mais baixos, se necessário, para otimizar o desempenho do aplicativo.
Observação
No Banco de Dados SQL do Azure, não é possível definir cost threshold for parallelism. Utilize MAXDOP para controlar o paralelismo em vez disso. Para obter mais informações, consulte Alterando o MAXDOP padrão no Banco de Dados SQL do Azure e na Instância Gerenciada SQL do Azure.
Em certos casos, um plano paralelo pode ser escolhido mesmo que o custo do plano da consulta seja menor do que o valor atual cost threshold for parallelism . A decisão de usar um plano paralelo ou serial é baseada em uma estimativa de custo fornecida anteriormente no processo de otimização. Para obter mais informações, consulte o Guia de arquitetura de processamento de consultas.
Observações
Para ver se a opção de configuração do cost threshold for parallelism servidor está definida como muito alta ou muito baixa para sua carga de trabalho, procure os seguintes indicadores.
| Limite de custo para a definição de paralelismo | Description |
|---|---|
| Muito baixo | - Muitas consultas pouco exigentes para a CPU são executadas em paralelo. - Na Loja de Consultas, muitos planos têm is_parallel_plan definidos como 1.- CXPACKET e CXCONSUMER dominam as estatísticas de tipo de espera. Você também pode ver THREADPOOL e SOS_SCHEDULER_YIELD esperar. |
| Muito alto | - Não há consultas pesadas da carga de trabalho que vão suficientemente em paralelo, e por isso a utilização da CPU é maior do que o ideal. - SOS_SCHEDULER_YIELD domina as estatísticas de tipo de espera. |
Permissions
As permissões de execução em sp_configure sem parâmetros ou apenas com o primeiro parâmetro são concedidas a todos os usuários por padrão. Para executar sp_configure com ambos os parâmetros para alterar uma opção de configuração ou executar a RECONFIGURE instrução, um usuário deve receber a permissão no nível do ALTER SETTINGS servidor. As funções fixas de servidor ALTER SETTINGS e serveradmin mantêm implicitamente a permissão.
Utilize SQL Server Management Studio
No Pesquisador de Objetos, clique com o botão direito do mouse em um servidor e selecione Propriedades.
Selecione Avançado.
Em Paralelismo, altere a
cost threshold for parallelismopção para o valor desejado. Digite ou selecione um valor de 0 a 32.767.
Utilize o Transact-SQL
Este exemplo mostra como usar sp_configure para definir o valor de cost threshold for parallelism para 20.
USE master;
GO
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'cost threshold for parallelism', 20;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO
Para obter mais informações, consulte Opções de configuração do Server.
Acompanhamento: Depois de configurar o limite de custo para a opção de paralelismo
A configuração entra em vigor imediatamente sem reiniciar o servidor.