SYS_QUERY_EXPLAIN - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

SYS_QUERY_EXPLAIN

Zeigt den EXPLAIN-Plan für eine Abfrage an, die zur Ausführung übermittelt wurde.

SYS_QUERY_EXPLAIN ist für alle Benutzer sichtbar. Superuser können alle Zeilen sehen; reguläre Benutzer können nur ihre eigenen Daten sehen. Weitere Informationen finden Sie unter Sichtbarkeit der Daten in Systemtabellen und Ansichten.

Tabellenspalten

Spaltenname Datentyp Beschreibung
user_id integer Die ID des Benutzers, der die Abfrage gesendet hat.
query_id bigint Die Abfrage-ID. Detaillierte Abfrageinformationen werden in SYS_QUERY_HISTORY gespeichert.
child_query_sequence Ganzzahl Die Reihenfolge der neu geschriebenen Benutzerabfrage, beginnend mit 1.
plan_node_id Ganzzahl Die ID eines Plan-Knotens, der mit einem oder mehreren Schritten in der Ausführung der Abfrage verwunden ist.
plan_parent_id Ganzzahl Die ID des übergeordneten Knotens des Plan-Knotens. Ein übergeordneter Knoten kann mehrere untergeordnete Knoten haben. So ist beispielsweise ein Zusammenführungsknoten der übergeordnete Knoten der Scans in den verbundenen Tabellen.
plan_node character(400) Der Knotentext aus der EXPLAIN-Ausgabe. Planknoten, die sich auf die Ausführung auf Datenverarbeitungsknoten beziehen, haben das Präfix XN in der EXPLAIN-Ausgabe.
node-info character(400) Qualifizierer- und Filterinformationen für den Plan-Knoten. Diese Spalte enthält zum Beispiel Join-Bedingungen und Einschränkungen für WHERE-Klauseln.

Beispielabfragen

Das folgende Beispiel ist der EXPLAIN-Plan einer einzelnen Abfrage.

SELECT * FROM sys_query_explain WHERE query_id = 612635 ORDER BY plan_node_id; userid | query_id | child_query_sequence | plan_node_id | plan_parent_id | plan_node | plan_info --------+----------+----------------------+--------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 100 | 612635 | 1 | 1 | 0 | XN Limit (cost=3604047533041.00..3604047533041.25 rows=100 width=20) | 100 | 612635 | 1 | 2 | 1 | -> XN Merge (cost=3604047533041.00..3604047533148.02 rows=42809 width=20) | Merge Key: sum(b.totalprice) 100 | 612635 | 1 | 3 | 2 | -> XN Network (cost=3604047533041.00..3604047533148.02 rows=42809 width=20) | Send to leader 100 | 612635 | 1 | 4 | 3 | -> XN Sort (cost=3604047533041.00..3604047533148.02 rows=42809 width=20) | Sort Key: sum(b.totalprice) 100 | 612635 | 1 | 5 | 4 | -> XN HashAggregate (cost=2604047529640.76..2604047529747.78 rows=42809 width=20) | 100 | 612635 | 1 | 6 | 5 | -> XN Hash Join DS_DIST_NONE (cost=15104956.16..2602364653507.34 rows=336575226684 width=20) | Hash Cond: (("outer".listid = "inner".listid) AND ("outer".sellerid = "inner".sellerid)) 100 | 612635 | 1 | 7 | 6 | -> XN Seq Scan on listing b (cost=0.00..7884677.12 rows=788467712 width=24) | 100 | 612635 | 1 | 8 | 6 | -> XN Hash (cost=7063797.76..7063797.76 rows=706379776 width=8) | 100 | 612635 | 1 | 9 | 8 | -> XN Seq Scan on sales a (cost=0.00..7063797.76 rows=706379776 width=8) | (9 rows)