Partager via


Option Seuil de coût pour le parallélisme

Utilisez l'option cost threshold for parallelism pour spécifier le seuil auquel Microsoft SQL Server crée et exécute des plans parallèles pour des requêtes. SQL Server crée et exécute un plan parallèle pour une requête uniquement dans le cas où le coût estimé de l'exécution d'un plan en série pour cette même requête serait plus élevé que la valeur définie dans l'option cost threshold for parallelism. Ce coût fait référence à l'estimation du temps (exprimé en secondes) nécessaire à l'exécution du plan en série pour une configuration matérielle spécifique. Définissez l'option cost threshold for parallelism seulement pour les environnements de type multiprocesseur symétrique.

Les requêtes plus longues tirent généralement parti de plans parallèles ; les avantages en termes de performances compensent le temps supplémentaire nécessaire à l'initialisation, à la synchronisation et à l'exécution des plans parallèles. L'option cost threshold for parallelism option est utilisée activement en cas d'exécution d'une combinaison de requêtes longues et courtes. Les requêtes courtes exécutent des plans en série alors que les requêtes longues utilisent des plans parallèles. La valeur de l'option cost threshold for parallelism détermine les requêtes considérées comme courtes, qui ne peuvent donc être exécutées qu'avec des plans en série.

Dans certains cas, un plan parallèle peut être choisi, même si le plan de coût de la requête est inférieur à la valeur actuelle de l'option cost threshold for parallelism. Cela s'explique par le fait que la décision d'utilisation d'un plan parallèle ou d'un plan en série prend comme base une estimation de coût fournie avant que l'optimisation soit terminée.

L'option cost threshold for parallelism peut prendre toute valeur comprise entre 0 et 32 767. La valeur par défaut est 5.

SQL Server ignore la valeur de l'option cost threshold for parallelism dans les conditions suivantes :

  • L'ordinateur ne dispose que d'un seul processeur.

  • Un seul processeur est disponible pour SQL Server en raison de l'option de configuration affinity mask.

  • L'option max degree of parallelism a la valeur 1.

    [!REMARQUE]

    Si l'option de requête MAXDOP est utilisée, SQL Server n'ignorera pas la valeur cost-threshold-for-parallelism.

L'option cost threshold for parallelism est une option avancée. Si vous utilisez la procédure stockée système sp_configure pour changer le paramètre, vous ne pouvez modifier l'option cost threshold for parallelism que si la valeur 1 a été attribuée à l'option show advanced options. Le paramètre prend effet immédiatement (sans redémarrage du serveur).

Exemple

L'exemple suivant attribue à l'option cost threshold for parallelism une valeur de 10 secondes.

sp_configure 'show advanced options', 1;

GO

reconfigure;

GO

sp_configure 'cost threshold for parallelism', 10;

GO

reconfigure;

GO