Was bedeutet DOP im Kontext von SQL Server?

10

Was bedeutet DOP im Kontext von SQL Server?

olle
quelle

Antworten:

15

DOPin SQL Server steht für Degrees of Parallelism.

Gemäß dem MSDN-Artikel hier versucht SQL Server, die Abfrage auf mehrere Prozessoren aufzuteilen, wenn in SQL Server mehrere Prozessoren verfügbar sind und die Abfrage bestimmte Schwellenwerte erfüllt.

In früheren Versionen von SQL Server habe ich festgestellt, dass Parallelität dazu führt, dass Abfragen langsamer ausgeführt werden. Das heißt, die Zeit zum Herausfinden der Parallelität dauert länger als die eigentliche Abfrage ohne sie.

In Abfragen können Sie die maximale Anzahl der zu verwendenden Prozessoren mithilfe des OPTION (MAXDOP X)Abfragehinweises angeben , wobei X die maximale Anzahl der verfügbaren Prozessoren ist. Sie können die Parallelität mit deaktivieren OPTION (MAXDOP 1).

Es ist auch ein Problem mit der Parallelität und SCOPE_IDENTITY()in SQL Server 2005/2008 bekannt.

LittleBobbyTables - Au Revoir
quelle
11

D egree O f P arallelism

Wenn SQL Server auf einem Computer mit mehr als einem Mikroprozessor oder einer CPU ausgeführt wird, erkennt es den besten Grad an Parallelität, dh die Anzahl der Prozessoren, die zum Ausführen einer einzelnen Anweisung für jede parallele Planausführung verwendet werden. Mit der Option "Maximaler Parallelitätsgrad" können Sie die Anzahl der Prozessoren begrenzen, die für die parallele Planausführung verwendet werden sollen.

Setzen Sie diese Option auf 0, den Standardwert, damit der Server den maximalen Parallelitätsgrad bestimmen kann. Wenn Sie den maximalen Parallelitätsgrad auf 0 setzen, kann SQL Server alle verfügbaren Prozessoren mit bis zu 64 Prozessoren verwenden. Um die Generierung paralleler Pläne zu unterdrücken, setzen Sie den maximalen Parallelitätsgrad auf 1. Setzen Sie den Wert auf eine Zahl größer als 1 (maximal 64), um die maximale Anzahl von Prozessoren zu beschränken, die von einer einzelnen Abfrageausführung verwendet werden. Wenn ein Wert angegeben wird, der größer als die Anzahl der verfügbaren Prozessoren ist, wird die tatsächliche Anzahl der verfügbaren Prozessoren verwendet. Wenn der Computer nur einen Prozessor hat, wird der maximale Parallelitätsgradwert ignoriert.

Alex Bolotov
quelle