Wie entscheidet MS SQL Server, wann bei der Ausführung von Abfragen "Parallelität" verwendet werden kann?


7

Wie entscheidet MS SQL Server, wann bei der Ausführung von Abfragen "Parallelität" verwendet werden kann? Ich gab vor kurzem eine andere Frage hier , dass, wenn bei der tatsächlichen Ausführungsplan verwendet Parallelität suchen , wenn ich auf der Abfrage einen Auftrag hatte und tat es nicht , wenn ich nicht den Auftrag hatte durch. Ich frage mich also, wie es herausfindet, wann es "Parallelität" verwenden kann und wann nicht.

Antworten:


5

SQL Server trifft diese Entscheidung basierend auf den Kosten. Wenn Sie 'sp_configure' ausführen (stellen Sie sicher, dass erweiterte Optionen aktiviert sind), wird ein Eintrag für 'Kostenschwelle für Parallelität' angezeigt. Wenn der Optimierer schätzt, dass die Kosten höher als der run_value sind, wird Ihre Abfrage parallel ausgeführt.

Wenn die ORDER BY-Klausel in Ihrem Beispiel zu erhöhten Kosten führt, wird die Abfrage parallel ausgeführt.


1
Weitere Informationen zu den für die Parallelität berechneten Kosten finden Sie hier: msdn.microsoft.com/en-us/library/ms178065.aspx und hier technet.microsoft.com/en-us/magazine/dd320292.aspx .
Marian

Gibt es eine Möglichkeit (oder vielleicht ein Tool), um festzustellen, welchen Wert die 'Kostenschwelle für Parallelität' für eine Abfrage hat?
HeyJude
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.