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
STL_HASHJOIN
Analysiert Hash-Join-Ausführungsschritte für Abfragen.
STL_HASHJOIN 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.
Anmerkung
STL_HASHJOIN enthält nur Abfragen, die auf bereitgestellten Haupt-Clustern ausgeführt werden. Abfragen, die auf Parallelitätsskalierungs-Clustern oder in Serverless-Namespaces ausgeführt werden, sind nicht enthalten. Um auf Erklärpläne zuzugreifen, die sowohl auf Haupt-Clustern als auch auf Parallelitätsskalierungs-Clustern und in Serverless-Namespaces ausgeführt werden, empfehlen wir, die SYS-Überwachungsansicht SYS_QUERY_DETAIL zu verwenden. Die Daten in der SYS-Überwachungsansicht sind so formatiert, dass sie leichter verwendbar und besser verständlich sind.
Tabellenspalten
| Spaltenname | Datentyp | Beschreibung |
|---|---|---|
| userid | integer | ID des Benutzers, der den Eintrag generiert hat. |
| query | integer | Abfrage-ID. Die Abfrage-Spalte kann verwendet werden, um andere Systemtabellen und Anzeigen anzufügen. |
| slice | integer | Die Nummer, die das Slice angibt, in dem die Abfrage ausgeführt wurde. |
| segment | integer | Zahl, mit der das Abfrage-Segment identifiziert wird. |
| Schritt | integer | Abfrageschritt, der ausgeführt wurde. |
| starttime | Zeitstempel | Zeitpunkt des Beginns der Abfrage, nach UTC. Die Gesamtzeit umfasst die Zeit in der Warteschlange und Zeit für die Ausführung mit einer Genauigkeit von 6 Nachkommastellen für Sekundenbruchteile. Beispiel: 2009-06-12 11:29:19.131358. |
| endtime | Zeitstempel | Zeitpunkt in UTC, an dem die Abfrage abgeschlossen wurde. Die Gesamtzeit umfasst die Zeit in der Warteschlange und Zeit für die Ausführung mit einer Genauigkeit von 6 Nachkommastellen für Sekundenbruchteile. Beispiel: 2009-06-12 11:29:19.131358. |
| tasknum | Ganzzahl | Nummer des Abfrageaufgabenprozesses, der der Ausführung des Schritts zugeordnet wurde. |
| rows | bigint | Gesamtzahl der Zeilen, die verarbeitet wurden. |
| tbl | integer | Tabellen-ID. |
| num_parts | integer | Gesamtzahl der Partitionen, in die eine Hash-Tabelle während eines Hash-Schrittes unterteilt wurde. |
| join_type | integer | Die Art des Joins für den Schritt:
|
| hash_looped | character(1) | Diese Information ist nur für die interne Verwendung gedacht. |
| switched_parts | character(1) | Zeigt an, ob die Build- (oder äußere) und die Sonden- (oder innere) Seite vertauscht wurden. |
| used_prefetching | character(1) | Diese Information ist nur für die interne Verwendung gedacht. |
| hash_segment | integer | Das Segment des entsprechenden Hash-Schritts. |
| hash_step | integer | Die Schrittnummer des entsprechenden Hash-Schritts. |
| Prüfsumme | bigint | Diese Information ist nur für die interne Verwendung gedacht. |
| Verteilung | integer | Diese Information ist nur für die interne Verwendung gedacht. |
Beispielabfragen
Das folgende Beispiel gibt die Anzahl der in einem Hash-Join für Abfrage 720 verwendeten Partitionen aus.
select query, slice, tbl, num_parts from stl_hashjoin where query=720 limit 10;
query | slice | tbl | num_parts -------+-------+-----+----------- 720 | 0 | 243 | 1 720 | 1 | 243 | 1 (2 rows)