Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verbessern der Abfrageleistung mit Adaptive Join
Übersicht
Adaptive Join ist eine Vorschaufunktion in Aurora PostgreSQL 17.4, die zur Verbesserung der Abfrageleistung beiträgt. Diese Funktion ist standardmäßig deaktiviert, Sie können sie jedoch mithilfe von GUC-Parametern (Global User Configuration) aktivieren. Da es sich um eine Vorschaufunktion handelt, können sich die Standardparameterwerte ändern. Wenn diese Option aktiviert ist, trägt Adaptive Join zur Optimierung der Abfrageleistung bei, indem zur Laufzeit dynamisch von einem Nested-Loop-Join zu einem Hash-Join gewechselt wird. Dieser Wechsel erfolgt, wenn der PostgreSQL-Optimierer aufgrund ungenauer Kardinalitätsschätzungen fälschlicherweise einen Nested-Loop-Join ausgewählt hat.
Konfigurieren von Adaptive Join
Sie können Adaptive Join über diese drei GUC-Parameter steuern:
| GUC-Parameter | Beschreibung | Standard-Konfigurationsoptionen |
|---|---|---|
| apg_adaptive_join_crossover_multiplier | Dieser Multiplikator bestimmt zusammen mit dem Zeilenknotenpunkt, wann von einem verschachtelten Loop zu einem Hash-Join gewechselt werden soll. Am Zeilenübergangspunkt schätzt der SQL-Optimierer, dass Vorgänge für verschachtelte Schleifen und Hash-Joins dieselben Kosten verursachen. Ein höherer Multiplikatorwert verringert die Wahrscheinlichkeit, dass Adaptive Join zu einem Hash-Join wechselt. |
Steuert, ob Adaptive Join aktiviert ist
|
| apg_adaptive_join_cost_threshold | Dieser Parameter legt einen Mindestschwellenwert für Abfragekosten fest. Adaptive Join deaktiviert sich automatisch für Abfragen, die unter diesem Schwellenwert liegen. Dadurch wird ein Leistungsaufwand bei einfachen Abfragen vermieden, bei denen die Kosten für die Planung eines adaptiven Joins die Vorteile des Wechsels von Nested Loop zu Hash-Join übersteigen könnten. |
Legt den Mindestschwellenwert für Abfragekosten fest
|
| apg_enable_parameterized_adaptive_join | Dieser Parameter erweitert Adaptive Join-Funktionen auf parametrisierte Nested Loop Joins, wenn er aktiviert ist. Standardmäßig funktioniert Adaptive Join nur mit nicht parametrisierten Nested Loop Joins, da diese eher von der Umstellung auf Hash-Join profitieren. Parametrisierte Nested Loop Joins schneiden in der Regel besser ab, sodass die Umstellung auf Hash-Join weniger kritisch ist. |
Steuert das Adaptive-Join-Verhalten für Nested Loop Joins
Anmerkung
|