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 Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Este artigo define o grau máximo de paralelismo e explica como modificar essa configuração no SQL Server usando o SQL Server Management Studio ou o Transact-SQL.
Em sistemas multiprocessador que executam o SQL Server Enterprise ou superior, as instruções de índice podem usar vários processadores (CPUs) para executar as operações de varredura, classificação e índice associadas à instrução de índice, assim como outras consultas. O número de CPUs usadas para executar uma única instrução de índice é determinado pela opção de configuração do servidor de grau máximo de paralelismo , pela carga de trabalho atual e pelas estatísticas de índice.
A opção de grau máximo de paralelismo determina o número máximo de processadores a serem usados na execução do plano paralelo. Se o Mecanismo de Banco de Dados do SQL Server detetar que o sistema está ocupado, o grau de paralelismo da operação de índice será reduzido automaticamente antes do início da execução da instrução. O Mecanismo de Banco de Dados também pode reduzir o grau de paralelismo se a coluna de chave principal de um índice não particionado tiver um número limitado de valores distintos ou se a frequência de cada valor distinto variar significativamente. Para obter mais informações, consulte Guia de arquitetura de processamento de consultas.
Note
As operações de índice paralelo não estão disponíveis em todas as edições do SQL Server. Para obter mais informações, consulte Edições e funcionalidades com suporte do SQL Server 2022.
Limitações
O número de processadores usados pelo otimizador de consulta normalmente fornece um desempenho ideal. No entanto, operações como criar, reconstruir ou descartar índices muito grandes consomem muitos recursos e podem causar recursos insuficientes para outros aplicativos e operações de banco de dados durante a operação de índice.
Quando esse problema ocorre, você pode configurar manualmente o número máximo de processadores que são usados para executar a instrução de índice limitando o número de processadores a serem usados para a operação de índice.
A
MAXDOPopção de índice substitui a opção de configuração de grau máximo de paralelismo apenas para a consulta que especifica essa opção. A tabela a seguir lista os valores inteiros válidos que podem ser especificados com a opção de configuração de grau máximo de paralelismo e aMAXDOPopção de índice.Value Description 0 Especifica que o servidor determina o número de CPUs que são usadas, dependendo da carga de trabalho atual do sistema. Este é o valor padrão e a configuração recomendada. 1 Suprime a geração de planos paralelos. A operação é executada em série. 2-64 Limita o número de processadores ao valor especificado. Menos processadores podem ser usados, dependendo da carga de trabalho atual. Se um valor maior do que o número de CPUs disponíveis for especificado, o número real de CPUs disponíveis será usado. A execução paralela do índice e a
MAXDOPopção de índice aplicam-se às seguintes instruções Transact-SQL:- CRIAR ÍNDICE
- ALTERAR ÍNDICE (...) RECONSTRUIR
- DROP INDEX (Isto aplica-se apenas a índices clusterizados.)
- ALTERAR TABELA ADICIONAR (índice) RESTRIÇÃO
- ALTERAR TABELA DROP (índice clusterizado) RESTRIÇÃO
A
MAXDOPopção de índice não pode ser especificada naALTER INDEX (...) REORGANIZEinstrução.Os requisitos de memória para operações de índice particionado que exigem classificação podem ser maiores se o Otimizador de Consulta aplicar graus de paralelismo à operação de compilação. Quanto maiores os graus de paralelismo, maior é a necessidade de memória. Para obter mais informações, consulte Tabelas e índices particionados.
Permissions
Requer permissão ALTER na tabela ou vista.
Utilize SQL Server Management Studio
Definir o grau máximo de paralelismo em um índice
No Pesquisador de Objetos, selecione o sinal de adição para expandir o banco de dados que contém a tabela na qual você deseja definir o grau máximo de paralelismo para um índice.
Expanda a pasta Tabelas.
Selecione o sinal de adição para expandir a tabela na qual você deseja definir o grau máximo de paralelismo para um índice.
Expanda a pasta Índices.
Clique com o botão direito do rato no índice para o qual pretende definir o grau máximo de paralelismo e selecione Propriedades.
Em Selecione uma página, selecione Opções .
Selecione Grau máximo de paralelismo e insira algum valor entre 1 e 64.
Selecione OK.
Utilize o Transact-SQL
Definir o grau máximo de paralelismo em um índice existente
No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. Esse código altera o
IX_ProductVendor_VendorIDPurchasing.ProductVendoríndice na tabela para que, se o servidor tiver oito ou mais processadores, o Mecanismo de Banco de Dados limite a execução da operação de índice a oito ou menos processadores.USE AdventureWorks2022; GO ALTER INDEX IX_ProductVendor_VendorID ON Purchasing.ProductVendor REBUILD WITH(MAXDOP = 8); GO
Para obter mais informações, consulte ALTER INDEX.
Especificar o grau máximo de paralelismo ao criar um novo índice
No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e selecione Executar.
USE AdventureWorks2022; GO CREATE INDEX IX_ProductVendor_NewVendorID ON Purchasing.ProductVendor(BusinessEntityID) WITH (MAXDOP = 8); GO
Conteúdo relacionado
- Guia de arquitetura de processamento de consultas
- CRIAR ÍNDICE (Transact-SQL)
- ALTERAR ÍNDICE (Transact-SQL)
- ELIMINAR ÍNDICE (Transact-SQL)
- ALTERAR TABELA (Transact-SQL)
- TABELA ALTER table_constraint (Transact-SQL)
- ALTERAR TABELA index_option (Transact-SQL)