| 

.NET C# Java Javascript Exception

0

Microsoft SQL Server kann Abfragen dann parallel abarbeiten, wenn die Anzahl der CPUs größer ist, als die Anzahl der aktiven Verbindungen und wenn ein bestimmter Schwellenwert für die Zeitdauer der sequentiellen Verarbeitung überschritten wird. Für eine parallele Abfrageverarbeitung erstellt der SQL Server einen Plan und fügt Verteilungsoperatoren in den Ausführungsplan ein. Die Zeit für diese Planerstellung und die anschließende parallele Abarbeitung sollte geringer sein, als die Zeit für die sequentielle Verarbeitung mehrerer Abfragen, dann können die Performance-Vorteile durch die parallele Verarbeitung genutzt werden.

Parallele Verarbeitung kann im SQL Server Management Studio konfiguriert werden. Über das Kontextmenü eines Servers können die Eigenschaften (Properties) geöffnet und dort der Reiter Erweitert (Advanced ) ausgewählt werden. Hier sind die folgenden Einträge unter Parallelität zusammengefasst:

  • Kostenschwellenwert für Parallelität: Dieser Wert (Cost Threshold for Parallelism ) gibt in Sekunden den Schwellenwert an, ab wann parallele Verarbeitungspläne erstellt und abgearbeitet werden.
  • Sperren: Dieser Wert (Locks ) definiert die maximale Anzahl an verfügbaren Sperren und beeinflusst die Nutzung des Arbeitsspeichers. Beim Standardwert „0“ übernimmt der SQL Server die Handhabung dynamisch.
  • Max. Grad an Parallelität: Dieser Wert (Max. Degree of Parallelism ) repräsentiert die Anzahl der zu nutzenden CPUs. Beim Standardwert „0“ werden alle verfügbaren CPUs genutzt, bei „1“ ist die parallele Verarbeitung deaktiviert!
  • Abfragewartezeit: Dieser Wert (Query Wait ) gibt die Zeitspanne in Sekunden an, die auf Ressourcen gewartet wird und repräsentiert einen Timeout. Im Kontext der Parallelität ist dies dann interessant, wenn arbeits(speicher)intensive Abfragen mit Hashwertbildung oder Sortierung durchgeführt werden und sich die Warteschlange füllt.

Über die Einstellungen lässt sich die Ausführung großer und komplexer Abfragen hinsichtlich der Performance per Konfiguration optimieren. Der Server muß nach Änderung dieser Einstellungen nicht neu gestartet werden. Für einige SQL-Statements ist eine parallele Abarbeitung jedoch nur dann möglich, wenn bestimmte Klauseln integriert sind. So werden beispielsweise UPDATE - und INSERT -Statements normalerweise nicht parallel verarbeitet. Sind hier jedoch die Klauseln WHERE (beim Aktualisieren) beziehungsweise SELECT (beim Einfügen) enthalten, dann wäre dies möglich. Weiterführende Informationen zur parallelen Abfrageverarbeitung erhalten Sie hier . (Jörg M. Freiberger/am)

datenbanken
Schreibe einen Kommentar:
Themen:
datenbanken
Entweder einloggen... ...oder ohne Wartezeit registrieren
Benutzername
Passwort
Passwort wiederholen
E-Mail