STL_QUERY - Amazon Redshift

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.

STL_QUERY

Gibt Ausführungsinformationen zu einer Datenbankabfrage aus.

Anmerkung

Die Ansichten STL_QUERY und STL_QUERYTEXT enthalten nur Informationen zu Abfragen, nicht zu weiteren Utility- und DDL-Befehlen. Für eine Liste und Informationen zu allen von Amazon Redshift ausgeführten Anweisungen können Sie auch die Ansichten STL_DDLTEXT und STL_UTILITYTEXT abfragen. Für eine vollständige Liste aller von Amazon Redshift ausgeführten Anweisungen können Sie die Ansicht SVL_STATEMENTTEXT abfragen.

STL_QUERY 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.

Einige oder alle Daten in dieser Tabelle sind auch in der SYS-Überwachungsansicht SYS_QUERY_HISTORY zu finden. Die Daten in der SYS-Überwachungsansicht sind so formatiert, dass sie leichter verwendbar und besser verständlich sind. Wir empfehlen Ihnen, für Ihre Abfragen die SYS-Überwachungsansicht zu verwenden.

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.
label Zeichen (320) Entweder der Name der für die Ausführung verwendeten Datei oder eine mit dem Befehl SET QUERY_GROUP definierte Beschriftung. Wenn die Tabelle nicht dateibasiert ist oder der Parameter QUERY_GROUP nicht eingerichtet ist, ist der Wert in diesem Feld default.
xid bigint Transaktions-ID.
pid integer Prozess-ID. Normalerweise werden alle Abfragen in einer Sitzung in demselben Prozess ausgeführt; dieser Wert bleibt daher konstant, wenn Sie eine Reihe von Abfragen in derselben Sitzung ausführen. Im Anschluss an bestimmte interne Ereignisse startet Amazon Redshift möglicherweise eine aktive Sitzung neu und weist eine neue PID zu. Weitere Informationen finden Sie unter STL_RESTARTED_SESSIONS.
Datenbank character(32) Der Name der Datenbank, mit der der Benutzer verbunden war, als die Abfrage ausgegeben wurde.
querytxt character(4000) Tatsächlicher Abfragetext der Abfrage.
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.
aborted integer Wenn eine Abfrage vom System oder einem Benutzer beendet wurde, enthält diese Spalte den Wert 1. Wenn die Abfrage abgeschlossen ist (einschließlich der Ausgabe der Ergebnisse an den Client), enthält diese Spalte den Wert 0. Wenn ein Client die Verbindung vor dem Erhalt der Ergebnisse trennt, wird die Abfrage als abgebrochen markiert (1), auch wenn sie im Backend erfolgreich abgeschlossen wurde.
insert_pristine Ganzzahl Ob Schreibabfragen are/were able to run while the current query is/was ausgeführt werden. 1 = keine Schreibabfragen erlaubt. 0 = Schreibabfragen erlaubt. Diese Spalte dient zur Verwendung beim Debugging.
concurrency_scaling_status integer

Gibt an, ob die Abfrage auf dem Haupt-Cluster oder einem Nebenläufigkeitsskalierungs-Cluster ausgeführt wurde. Die möglichen Werte lauten wie folgt:

0 – Wurde auf dem Haupt-Cluster ausgeführt

1 – Wurde auf einem Nebenläufigkeitsskalierungs-Cluster ausgeführt

Größer als 1 – Wurde auf dem Haupt-Cluster ausgeführt

Beispielabfragen

Die folgende Abfrage führt die fünf letzten Abfragen auf.

select query, trim(querytxt) as sqlquery from stl_query order by query desc limit 5; query | sqlquery ------+-------------------------------------------------- 129 | select query, trim(querytxt) from stl_query order by query; 128 | select node from stv_disk_read_speeds; 127 | select system_status from stv_gui_status 126 | select * from systable_topology order by slice 125 | load global dict registry (5 rows)

Die folgende Abfrage gibt die verstrichene Zeit (in absteigender Reihenfolge) für Abfragen aus, die am 15. Februar 2013 ausgeführt wurden.

select query, datediff(seconds, starttime, endtime), trim(querytxt) as sqlquery from stl_query where starttime >= '2013-02-15 00:00' and endtime < '2013-02-16 00:00' order by date_diff desc; query | date_diff | sqlquery -------+-----------+------------------------------------------- 55 | 119 | padb_fetch_sample: select count(*) from category 121 | 9 | select * from svl_query_summary; 181 | 6 | select * from svl_query_summary where query in(179,178); 172 | 5 | select * from svl_query_summary where query=148; ... (189 rows)

Die folgende Abfrage zeigt die Warteschlangenzeit und Ausführungszeit für Abfragen an. Abfragen mit concurrency_scaling_status = 1 wurden auf einem Nebenläufigkeitsskalierungs-Cluster ausgeführt. Alle anderen Abfragen wurden auf dem Haupt-Cluster ausgeführt.

SELECT w.service_class AS queue , q.concurrency_scaling_status , COUNT( * ) AS queries , SUM( q.aborted ) AS aborted , SUM( ROUND( total_queue_time::NUMERIC / 1000000,2 ) ) AS queue_secs , SUM( ROUND( total_exec_time::NUMERIC / 1000000,2 ) ) AS exec_secs FROM stl_query q JOIN stl_wlm_query w USING (userid,query) WHERE q.userid > 1 AND service_class > 5 AND q.starttime > '2019-03-01 16:38:00' AND q.endtime < '2019-03-01 17:40:00' GROUP BY 1,2 ORDER BY 1,2;