cost threshold for parallelism (opción)

Use la opción cost threshold for parallelism (umbral de costo para paralelismo) para especificar el umbral en el que Microsoft SQL Server crea y ejecuta planes paralelos para las consultas. SQL Server crea y ejecuta un plan paralelo para una consulta sólo cuando el costo estimado para ejecutar un plan serie para la misma consulta es superior al valor establecido en cost threshold for parallelism. Este costo hace referencia al tiempo transcurrido estimado en segundos que es necesario para ejecutar el plan serie en una configuración de hardware específica. Sólo debe establecer la opción cost threshold for parallelism en multiprocesadores simétricos.

Normalmente, las consultas más largas se benefician de planes paralelos; la ventaja en rendimiento compensa la desventaja que supone el tiempo adicional necesario para inicializar, sincronizar y terminar los planes paralelos. La opción cost threshold for parallelism se utiliza de manera activa cuando se ejecuta una combinación de consultas largas y cortas. Las consultas cortas ejecutan planes serie, mientras que las consultas largas utilizan planes paralelos. El valor de cost threshold for parallelism determina las consultas que se consideran cortas, por lo que se ejecutan sólo mediante planes serie.

En determinados casos, puede elegirse un plan paralelo aunque el costo del plan de la consulta sea inferior al valor actual de cost threshold for parallelism. Esto se debe a que la decisión de utilizar un plan serie o un plan paralelo se basa en un costo estimado proporcionado antes de finalizar la optimización completa.

Puede establecer cualquier valor que oscile entre 0 y 32767 para la opción cost threshold for parallelism. El valor predeterminado es 5.

SQL Server omite el valor de cost threshold for parallelism en las siguientes condiciones:

  • El equipo sólo tiene un procesador.

  • Solo hay disponible una CPU para SQL Server debido a la opción de configuración affinity mask (máscara de afinidad).

  • La opción max degree of parallelism(grado máximo de paralelismo) tiene establecido el valor 1.

    Nota

    Si se utiliza la opción de consulta de MAXDOP, SQL Server no omitirá el valor de cost-threshold-for-parallelism (umbral de costo para paralelismo).

La opción cost threshold for parallelism es una opción avanzada. Si va a usar el procedimiento almacenado del sistema sp_configure para cambiar la configuración, solo podrá cambiar el valor de cost threshold for parallelism si show advanced options está establecido en 1. El valor surte efecto inmediatamente (sin necesidad de reiniciar el servidor).

Ejemplo

En el siguiente ejemplo se establece el umbral de costo para paralelismo en 10 segundos.

sp_configure 'show advanced options', 1;

GO

reconfigure;

GO

sp_configure 'cost threshold for parallelism', 10;

GO

reconfigure;

GO