Configurar operações paralelas de índice

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

Este tópico 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 em execução no SQL Server Enterprise ou superior, as instruções de índice podem usar vários processadores (CPUs) para executar operações de verificação, classificação e índice associadas à instrução de índice da mesma forma que 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.

Observação

As operações de índice paralelas 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.

Neste tópico

Antes de começar

Limitações e Restriçõ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 opção de índice MAXDOP substitui a opção de configuração max degree of parallelism apenas para consultas que especificam essa opção. A tabela a seguir lista os valores inteiros válidos que podem ser especificados com a opção de configuração grau máximo de paralelismo e a opção de índice MAXDOP.

    Valor Descrição
    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 será 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.
  • Execução de índice paralelo e a opção de índice MAXDOP se aplicam à seguinte instrução Transact-SQL:

  • A opção de índice MAXDOP 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 Partitioned Tables and Indexes.

Permissões do

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

Como usar o SQL Server Management Studio

Para definir o grau máximo de paralelismo de um índice

  1. No Pesquisador de Objetos, clique no sinal de mais para expandir o banco de dados que contém a tabela na qual você deseja definir o grau máximo de paralelismo de um índice.

  2. Expanda a pasta Tabelas .

  3. Clique no sinal de mais para expandir a tabela na qual você deseja definir o grau máximo de paralelismo de 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. Clique em OK.

Usando o Transact-SQL

Para definir o grau máximo de paralelismo de 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, clique em Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar.

    USE AdventureWorks2022;   
    GO  
    /*Alters the IX_ProductVendor_VendorID index on the Purchasing.ProductVendor table so that, if the server has eight or more processors, the Database Engine will limit the execution of the index operation to eight or fewer processors.  
    */  
    ALTER INDEX IX_ProductVendor_VendorID ON Purchasing.ProductVendor  
    REBUILD WITH (MAXDOP=8);   
    GO  
    

Para mais informações, consulte ALTERAR ÍNDICE (Transact-SQL).

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, clique em Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar.

    USE AdventureWorks2022;  
    GO  
    CREATE INDEX IX_ProductVendor_NewVendorID   
    ON Purchasing.ProductVendor (BusinessEntityID)  
    WITH (MAXDOP=8);  
    GO  
    

Confira também

Guia de arquitetura de processamento de consultas
CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL)
DROP INDEX (Transact-SQL)
ALTER TABLE (Transact-SQL)
ALTER TABLE table_constraint (Transact-SQL)
ALTER TABLE index_option (Transact-SQL)