Compartilhar via


Configurar operações de índice paralelo

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureBanco 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 multiprocessadores 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 verificação, classificação e índice associadas à instrução de índice, assim como outras consultas. O número de CPUs usados 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 grau máximo de paralelismo determina o número máximo de processadores a serem usados na execução no plano paralelo. Se o Mecanismo de Banco de Dados do SQL Server detectar que o sistema está ocupado, o grau de paralelismo da operação de índice será automaticamente reduzido antes do início da execução da instrução. O mecanismo de banco de dados também poderá diminuir o grau de paralelismo se a coluna de chave à esquerda de um índice não particionado tiver um número limitado de valores distintos ou a frequência de cada valor distinto variar de forma significativa. Para obter mais informações, consulte Guia da 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, confira Edições e recursos com suporte do SQL Server 2022.

Limitações

  • O número de processadores usados pelo otimizador de consulta normalmente fornece melhor desempenho. Porém, operações como criar, recriar ou cancelar índices muito grandes são recursos intensivos e podem causar recursos insuficientes em outros aplicativos e operações de banco de dados durante a operação de índice.

    Quando ocorrer esse problema, você poderá configurar manualmente o número máximo de processadores usados para executar a instrução de índice, limitando o número de processadores para a operação de índice.

  • A MAXDOP opção de índice substitui a opção de configuração de grau máximo de paralelismo somente 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 a opção MAXDOP de índice.

    Value Description
    0 Especifica que o servidor determina o número de CPUs que são usadas, dependendo da carga de trabalho do sistema atual. Esse é o valor padrão e a configuração recomendada.
    1 Suprime a geração de plano paralelo. 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 que o número de CPUs disponíveis for especificado, o número atual de CPUs disponíveis será usado.
  • A execução do índice paralelo e a opção MAXDOP de índice se aplicam às seguintes instruções Transact-SQL:

  • A MAXDOP opção de índice não pode ser especificada na instrução ALTER INDEX (...) REORGANIZE .

  • Requisitos de memória para operações de índice de partição que necessitam de classificação poderão ser maiores se o Otimizador de Consulta aplicar graus de paralelismo à operação de criação. Quanto maior os graus de paralelismo, o maior será o requisito de memória. Para saber mais, confira Tabelas particionadas e índices.

Permissions

Requer a permissão ALTER na tabela ou exibição.

Utilize o SQL Server Management Studio

Definir o grau máximo de paralelismo em um índice

  1. 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.

  2. Expanda a pasta Tabelas .

  3. Selecione o sinal de adição para expandir a tabela na qual você deseja definir o grau máximo de paralelismo para um índice.

  4. Expanda a pasta Índices .

  5. Clique com o botão direito do mouse no índice do qual você deseja definir o grau máximo de paralelismo e selecione Propriedades.

  6. Em Selecione uma página, selecione Opções.

  7. Selecione Grau máximo de paralelismoe insira um valor entre 1 e 64.

  8. Selecione OK.

Usar Transact-SQL

Definir o grau máximo de paralelismo em um índice existente

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, selecione Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. Esse código altera o IX_ProductVendor_VendorID índice na Purchasing.ProductVendor 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 saber mais, confira ALTER INDEX.

Especificar o grau máximo de paralelismo ao criar um novo indexador

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, selecione Nova Consulta.

  3. 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