Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Abfragen optimieren und ausführen » Algorithmen zur Abfrageausführung

 

Parallelität während der Abfrageausführung

SQL Anywhere unterstützt zwei unterschiedliche Arten von Parallelität bei der Abfrageausführung: abfrageinterne und abfrageübergreifende Parallelität. Abfrageübergreifende Parallelität (Inter-Query-Parallelität) bedeutet, dass verschiedene Abfragen gleichzeitig auf separaten CPUs ausgeführt werden. Jede Anforderung (Task) läuft in einem einzelnen Thread und wird auf einem einzelnen Prozessor ausgeführt.

Abfrageinterne Parallelität (Intra-Query-Parallelität) bedeutet, dass mehrere CPUs gleichzeitig eine einzelne Anforderung verarbeiten, sodass Teile der Abfrage parallel durch Multi-Prozessor-Hardware berechnet werden. Die Verarbeitung dieser Teile wird vom Exchange-Algorithmus durchgeführt. Siehe Exchange-Algorithmus (Exchange).

Die abfrageinterne Parallelität kann die Systemlast verbessern, wenn die Anzahl der gleichzeitig ausgeführten Abfragen normalerweise geringer ist als die Anzahl der verfügbaren Prozessoren. Der Höchstgrad der Parallelität wird durch die max_query_tasks-Option kontrolliert. Siehe max_query_tasks-Option.

Der Optimierer schätzt die Extrakosten der Parallelität (zusätzliches Kopieren von Zeilen, Zusatzkosten für Koordination der Aufgaben) und wählt parallele Pläne nur aus, wenn sie die Performance verbessern können.

Die abfrageinterne Parallelität wird nicht bei Verbindungen angewendet, für die die Priority-Option auf "background" gesetzt wurde. Siehe priority-Option.

Die abfrageinterne Parallelität wird nicht angewendet, wenn die Anzahl der Server-Threads, die gerade eine Anforderung bearbeiten (Servereigenschaft "ActiveReq"), die Anzahl von CPU-Kernen des Computers überschreitet, für dessen Benutzung der Datenbankserver lizenziert ist. Über die genaue Zeitspanne entscheidet der Server. Dabei handelt es sich normalerweise um ein paar Sekunden. Siehe Datenbankservereigenschaften.

 Parallelausführung
 Siehe auch

Parallelität in Abfragen