Partilhar via


Configurar operações de índice paralelo

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase 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 MAXDOP opçã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 a MAXDOP opçã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 MAXDOP opção de índice aplicam-se às seguintes instruções Transact-SQL:

  • A MAXDOP opção de índice não pode ser especificada na ALTER INDEX (...) REORGANIZE instruçã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

  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 rato no índice para o qual pretende 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 paralelismo e insira algum valor entre 1 e 64.

  8. Selecione OK.

Utilize o 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_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

  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