Compartir a través de


Configuración de operaciones de índice paralelas

Se aplica a:SQL ServerAzure SQL DatabaseInstancia administrada de Azure SQLBase de datos SQL en La versión preliminar de Microsoft Fabric

En este artículo se define el grado máximo de paralelismo y se explica cómo modificar esta configuración en SQL Server mediante SQL Server Management Studio o Transact-SQL.

En sistemas multiprocesador que ejecutan SQL Server Enterprise o superior, las instrucciones de índice pueden usar varios procesadores (CPU) para realizar las operaciones de examen, ordenación e índice asociadas a la instrucción de índice igual que otras consultas. El número de CPU que se usan para ejecutar una sola instrucción de índice viene determinado por la opción de configuración del servidor Grado máximo de paralelismo, la carga de trabajo actual y las estadísticas de índices.

La opción max degree of parallelism determina el número máximo de procesadores que se utilizarán en la ejecución de planes paralelos. Si el motor de base de datos de SQL Server detecta que el sistema está ocupado, el grado de paralelismo de la operación de índice se reduce automáticamente antes de comenzar la ejecución de la instrucción. El motor de base de datos también puede reducir el grado de paralelismo si la columna de clave inicial de un índice sin particiones tiene un número limitado de valores distintos o la frecuencia de cada valor distinto varía significativamente. Para obtener más información, consulte Guía de arquitectura de procesamiento de consulta.

Note

Las operaciones de índice paralelo no están disponibles en todas las ediciones de SQL Server. Para obtener más información, consulte Ediciones y características admitidas de SQL Server 2022.

Limitaciones

  • El número de procesadores que utiliza el optimizador de consultas suele proporcionar un rendimiento óptimo. No obstante, las operaciones como la creación, reconstrucción o eliminación de índices de gran tamaño utilizan una gran cantidad de recursos y pueden provocar la falta de recursos para otras aplicaciones y operaciones de base de datos durante la operación de índice.

    Cuando se produce este problema, se puede configurar manualmente el número máximo de procesadores que se emplean para ejecutar la instrucción de índice limitando el número de procesadores que se usarán para la operación de índice.

  • La opción de índice MAXDOP anula la opción de configuración de grado máximo de paralelismo solo para la consulta que especifica esta opción. En la tabla siguiente se enumeran los valores enteros válidos que se pueden especificar con la opción de configuración de grado máximo de paralelismo y la opción de índice MAXDOP.

    Value Description
    0 Especifica que el servidor determina el número de CPU que se usan, según la carga de trabajo del sistema actual. Éste es el valor predeterminado y recomendado.
    1 Suprime la generación de planes paralelos. La operación se ejecuta en serie.
    2-64 Limita el número de procesadores al valor especificado. Es posible que se usen menos procesadores en función de la carga de trabajo actual. Si especifica un valor superior al número de CPU disponibles, se utilizará el número real de CPU disponibles.
  • La ejecución del índice en paralelo y la MAXDOP opción de índice se aplican a las siguientes instrucciones Transact-SQL:

  • La MAXDOP opción de índice no puede especificarse en la ALTER INDEX (...) REORGANIZE instrucción.

  • Los requisitos de memoria de las operaciones de índices con particiones que requieren ordenación pueden ser mayores si el Optimizador de consultas aplica grados de paralelismo a la operación de generación. Cuanto mayores sean los grados de paralelismo, mayor será el requisito de memoria. Para obtener más información, vea Índices y tablas con particiones.

Permissions

Debe tener un permiso de ALTER sobre la tabla o vista.

Uso de SQL Server Management Studio

Establecer el grado máximo de paralelismo en un índice

  1. En el Explorador de objetos, seleccione el signo más para expandir la base de datos que contiene la tabla en la que desea establecer el grado máximo de paralelismo para un índice.

  2. Expanda la carpeta Tablas .

  3. Seleccione el signo más para expandir la tabla en la que desea establecer el grado máximo de paralelismo para un índice.

  4. Expanda la carpeta Índices .

  5. Haga clic con el botón derecho en el índice para el que quiere establecer el grado máximo de paralelismo y seleccione Propiedades.

  6. Debajo de Seleccionar una página, seleccione Opciones.

  7. Seleccione Grado máximo de paralelismoy, a continuación, escriba un valor entre 1 y 64.

  8. Selecciona Aceptar.

Uso de Transact-SQL

Establecer el grado máximo de paralelismo en un índice existente

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar. Este código modifica el IX_ProductVendor_VendorID índice de la Purchasing.ProductVendor tabla para que, si el servidor tiene ocho o más procesadores, el motor de base de datos limita la ejecución de la operación de índice a ocho o menos procesadores.

    USE AdventureWorks2022;
    GO
    
    ALTER INDEX IX_ProductVendor_VendorID
        ON Purchasing.ProductVendor REBUILD WITH(MAXDOP = 8);
    GO
    

Para más información, consulte ALTER INDEX.

Especificar el grado máximo de paralelismo al crear un nuevo índice

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar.

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