Kostenschwelle für Parallelität (Option)
Verwenden Sie die Option cost threshold for parallelism zum Angeben des Schwellwerts, ab dem Microsoft SQL Server parallele Pläne für Abfragen erstellt und ausführt. SQL Server erstellt nur dann einen parallelen Plan für eine Abfrage und führt ihn aus, wenn die geschätzten Kosten für die Ausführung eines seriellen Plans für die gleiche Abfrage höher sind als der in cost threshold for parallelism festgelegte Wert. Die Kosten beziehen sich auf eine geschätzte Zeit in Sekunden, die für das Ausführen des seriellen Plans bei einer bestimmten Hardwarekonfiguration benötigt wird. Legen Sie die Option Kostenschwelle für Parallelität nur auf SMP-Systemen (Symmetric Multiprocessor) fest.
Längere Abfragen profitieren in der Regel von parallelen Plänen. Der Leistungsvorteil kompensiert den zusätzlichen Zeitaufwand, der für das Initialisieren, Synchronisieren und Beenden paralleler Pläne benötigt wird. Die Option cost threshold for parallelism wird dann aktiv verwendet, wenn eine Kombination aus kurzen und langen Abfragen ausgeführt wird. Die kurzen Abfragen führen serielle Pläne aus, während die langen Abfragen parallele Pläne verwenden. Der Wert von cost threshold for parallelism bestimmt, welche Abfragen als kurz betrachtet werden. Sie sollten dementsprechend mithilfe serieller Pläne ausgeführt werden.
In bestimmten Fällen kann ein paralleler Plan ausgewählt werden, obwohl der Kostenplan der Abfrage unter dem aktuellen Wert der Option Kostenschwelle für Parallelität liegt. Dieser Fall kann eintreten, wenn die Entscheidung zum Verwenden eines parallelen oder seriellen Plans auf einer Kostenabschätzung basiert, die vor dem Abschluss der vollständigen Optimierung zur Verfügung gestellt wurde.
Die Option cost threshold for parallelism kann auf einen beliebigen Wert zwischen 0 und 32767 festgelegt werden. Der Standardwert ist 5.
SQL Server ignoriert den Wert von Kostenschwelle für Parallelität unter den folgenden Bedingungen:
Ihr Computer verfügt nur über einen Prozessor.
Für SQL Server steht aufgrund der Konfigurationsoption affinity mask nur eine CPU zur Verfügung.
Die Option max degree of parallelismist auf den Wert 1 festgelegt.
Hinweis Wenn die MAXDOP-Abfrageoption verwendet wird, ignoriert SQL Server den Wert cost-threshold-for-parallelism nicht.
Es handelt sich bei cost threshold for parallelism um eine erweiterte Option. Wenn Sie die Einstellung mithilfe der gespeicherten Systemprozedur sp_configure ändern, ist eine Änderung von cost threshold for parallelism nur dann möglich, wenn show advanced options auf 1 festgelegt ist. Die Einstellung ist ohne Neustart des Servers sofort wirksam.
Beispiel
Im folgenden Beispiel wird die Option cost threshold for parallelism auf 10 Sekunden festgelegt.
sp_configure 'show advanced options', 1;
GO
reconfigure;
GO
sp_configure 'cost threshold for parallelism', 10;
GO
reconfigure;
GO