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.
Verbesserung der Abfrageleistung mithilfe von 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 Schalter tritt auf, wenn der PostgreSQL-Optimierer aufgrund ungenauer Kardinalitätsschätzungen fälschlicherweise einen Nested-Loop-Join ausgewählt hat.
Adaptive Join konfigurieren
Sie können den adaptiven Join mithilfe dieser drei GUC-Parameter steuern:
GUC-Parameter | Beschreibung | Standard- und Konfigurationsoptionen |
---|---|---|
apg_adaptive_join_crossover_multiplier | Dieser Multiplikator bestimmt zusammen mit dem Zeilenübergangspunkt, wann von einem verschachtelten Loop zu einem Hash-Join gewechselt werden soll. Am Zeilenübergangspunkt schätzt der SQL-Optimierer, dass Nested-Loop- und Hash-Join-Operationen die gleichen Kosten verursachen. Ein höherer Multiplikatorwert verringert die Wahrscheinlichkeit, dass ein adaptiver 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 Mindestkostenschwellenwert für die Abfrage fest
|
apg_enable_parameterized_adaptive_join | Dieser Parameter erweitert die adaptive Join-Funktionalität auf parametrisierte Nested-Loop-Joins, wenn er aktiviert ist. Standardmäßig funktioniert Adaptive Join nur mit unparametrisierten 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 wichtig ist. |
Steuert das adaptive Join-Verhalten für verschachtelte Loop-Joins
Anmerkung
|