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 QUERYTEXT Ansichten STL _ QUERY und STL _ enthalten nur Informationen zu Abfragen, nicht zu anderen Hilfsprogrammen und DDL Befehlen. Für eine Liste und Informationen zu allen Anweisungen, die von Amazon Redshift ausgeführt werden, können Sie auch die UTILITYTEXT Ansichten STL _ DDLTEXT und STL _ abfragen. Für eine vollständige Liste aller Anweisungen, die von Amazon Redshift ausgeführt werden, können Sie die STATEMENTTEXT Ansicht SVL _ 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 befinden sich auch in der SYS ÜberwachungsansichtSYS_QUERY_HISTORY. Die Daten in der SYS Überwachungsansicht sind so formatiert, dass sie einfacher zu verwenden und zu verstehen sind. Wir empfehlen Ihnen, die SYS Überwachungsansicht für Ihre Abfragen 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 Datei, mit der die Abfrage ausgeführt wurde, oder ein mit dem GROUP Befehl SET QUERY _ definiertes Label. Wenn die Abfrage nicht dateibasiert ist oder der GROUP Parameter QUERY _ nicht festgelegt ist, ist dieser Feldwert. 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. Nach bestimmten internen Ereignissen 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 UhrzeitUTC, zu der die Abfrage gestartet 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.
endtime Zeitstempel ZeitUTC, in der die Abfrage beendet 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 integer Ob Schreibabfragen ausgeführt werden können/konnten, während die aktuelle Abfrage läuft/lief. 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;