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

SVL_QUERY_SUMMARY

Verwenden Sie die Ansicht SVL_QUERY_SUMMARY, um allgemeine Informationen zur Ausführung einer Abfrage zu erhalten.

Die Ansicht SVL_QUERY_SUMMARY enthält einen Teil der Daten der Ansicht SVL_QUERY_REPORT. Beachten Sie, dass die Informationen in SVL_QUERY_SUMMARY von allen Knoten aggregiert sind.

Anmerkung

Die Ansicht SVL_QUERY_SUMMARY enthält nur Informationen zu von Amazon Redshift ausgeführten Abfragen, nicht zu anderen Utility- und DDL-Befehlen. Für eine vollständige Liste und Informationen zu allen von Amazon Redshift ausgeführten Anweisungen, einschließlich DDL- und Utility-Befehlen, können Sie die Ansicht SVL_STATEMENTTEXT abfragen.

SVL_QUERY_SUMMARY 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_DETAIL 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.

Informationen zu SVCS_QUERY_SUMMARY finden Sie unter SVCS_QUERY_SUMMARY.

Tabellenspalten

Spaltenname Datentyp Beschreibung
userid integer ID des Benutzers, der den Eintrag generiert hat.
query integer Abfrage-ID. Kann verwendet werden, um verschiedene andere Systemtabellen und Anzeigen anzufügen.
stm integer Stream: Ein Satz gleichzeitiger Segmente einer Abfrage. Eine Abfrage enthält einen oder mehrere Streams.
seg integer Segmentnummer. Eine Abfrage besteht aus mehreren Segmenten, und jedes Segment besteht aus einem oder mehreren Schritten. Abfragesegmente können parallel ausgeführt werden. Jedes Segment wird in einem einzelnen Prozess ausgeführt.
Schritt integer Abfrageschritt, der ausgeführt wurde.
maxtime bigint Maximale Zeit für die Ausführung des Schritts (in Mikrosekunden).
avgtime bigint Durchschnittliche Zeit für die Ausführung des Schritts (in Mikrosekunden).
rows bigint Anzahl der an dem Abfrageschritt beteiligten Datenzeilen.
bytes bigint Anzahl der an dem Abfrageschritt beteiligten Bytes.
rate_row double precision Ausführungsrate der Abfrage pro Zeile.
rate_byte double precision Ausführungsrate der Abfrage pro Byte.
label Text Schritt-Etikett, bestehend aus dem Namen eines Abfrageschritts und, falls anwendbar, der Tabellen-ID und dem Tabellennamen (zum Beispiel scan tbl = 100448). Dreistellige Tabellen-IDs beziehen sich normalerweise auf Scans temporärer Tabellen. Wenn Sie tbl=0 sehen, bezieht sich dies auf einen Scan eines konstanten Werts.
is_diskbased character(1) Ob dieser Schritt der Abfrage als datenträgerbasierte Operation auf einem Knoten im Cluster ausgeführt wurde: true (t) oder false (f). Nur bestimmte Schritte, wie etwa Hash-, Sortierungs- oder Aggregierungsschritte, können auf die Festplatte übertragen werden. Viele Arten von Schritten werden immer im Arbeitsspeicher ausgeführt.
workmem bigint Größe des Arbeitsspeichers (in Byte), der dem Abfrageschritt zugewiesen wurde.
is_rrscan character(1) „true“ (t) zeigt an, dass für diesen Schritt ein Scan mit Bereichseinschränkung durchgeführt wurde. Der Standardwert ist „false“ (f).
is_delayed_scan character(1) „true“ (t) zeigt an, dass für diesen Schritt ein verzögerter Scan durchgeführt wurde. Der Standardwert ist „false“ (f).
rows_pre_filter bigint Für Scans permanenter Tabellen die Gesamtzahl der Zeilen, die vor der Filterung der zur Löschung markierten Zeilen (Geisterzeilen) ausgegeben wurden.

Beispielabfragen

Anzeige von Verarbeitungsinformationen für einen Abfrageschritt

Die folgende Abfrage zeigt allgemeine Verarbeitungsinformationen für jeden Schritt von Abfrage 87:

select query, stm, seg, step, rows, bytes from svl_query_summary where query = 87 order by query, seg, step;

Diese Abfrage ruft die Verarbeitungsinformationen zu Abfrage 87 aus, wie die folgende Beispielausgabe zeigt:

query | stm | seg | step | rows | bytes -------+-----+-----+------+--------+--------- 87 | 0 | 0 | 0 | 90 | 1890 87 | 0 | 0 | 2 | 90 | 360 87 | 0 | 1 | 0 | 90 | 360 87 | 0 | 1 | 2 | 90 | 1440 87 | 1 | 2 | 0 | 210494 | 4209880 87 | 1 | 2 | 3 | 89500 | 0 87 | 1 | 2 | 6 | 4 | 96 87 | 2 | 3 | 0 | 4 | 96 87 | 2 | 3 | 1 | 4 | 96 87 | 2 | 4 | 0 | 4 | 96 87 | 2 | 4 | 1 | 1 | 24 87 | 3 | 5 | 0 | 1 | 24 87 | 3 | 5 | 4 | 0 | 0 (13 rows)

Ermittlung, ob Abfrageschritte auf den Datenträger übertragen wurden

Die folgende Abfrage zeigt, ob einer oder mehrere der Schritte für die Abfrage mit Abfrage-ID 1025 (vgl. die Ansicht SVL_QLOG zum Abruf der Abfrage-ID für eine Abfrage) auf die Festplatte übertragen wurde, oder ob die Abfrage vollständig im Speicher ausgeführt wurde:

select query, step, rows, workmem, label, is_diskbased from svl_query_summary where query = 1025 order by workmem desc;

Diese Abfrage gibt die folgende Beispielausgabe zurück:

query| step| rows | workmem | label | is_diskbased -----+-----+--------+-----------+---------------+-------------- 1025 | 0 |16000000| 141557760 |scan tbl=9 | f 1025 | 2 |16000000| 135266304 |hash tbl=142 | t 1025 | 0 |16000000| 128974848 |scan tbl=116536| f 1025 | 2 |16000000| 122683392 |dist | f (4 rows)

Durch das Scannen der Werte für IS_DISKBASED sehen Sie, welche Abfrageschritte auf die Festplatte übertragen wurden. Bei Abfrage 1025 wurde der Hash-Schritt auf der Festplatte ausgeführt. Schritte, die auf der Festplatte ausgeführt werden können, sind u. a. Hash-, Aggregierungs- und Sortierungsschritte. Um ausschließlich datenträgerbasierte Abfrageschritte anzuzeigen, fügen Sie der SQL-Anweisung im Beispiel oben die Klausel and is_diskbased = 't' hinzu.