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_REPORT
Amazon Redshift erstellt die Ansicht SVL_QUERY_REPORT aus einer UNION einer Reihe von Amazon-Redshift-STL-Systemtabellen, um Informationen zu ausgeführten Abfrageschritten anzuzeigen.
Diese Ansicht schlüsselt die Informationen zu ausgeführten Abfragen nach Slice und Schritt auf; dies ist nützlich für die Behebung von Slice- und Knoten-Problemen im Amazon-Redshift-Cluster.
SVL_QUERY_REPORT 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.
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. |
slice | integer | Daten-Slice der Ausführung des Schritts. |
segment | 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 abgeschlossen wurde. |
start_time | timestamp | Genaue Uhrzeit in UTC, zu der die Ausführung des Segments begonnen wurde, mit 6 Nachkommastellen für Sekundenbruchteile. Beispiel: 2012-12-12 11:29:19.131358 |
end_time | timestamp | Genaue Uhrzeit in UTC, zu der die Ausführung des Segments abgeschlossen wurde, mit 6 Nachkommastellen für Sekundenbruchteile. Beispiel: 2012-12-12 11:29:19.131467 |
elapsed_time | bigint | Zeit (in Mikrosekunden) für die Ausführung des Segments. |
rows | bigint | Anzahl der von dem Schritt (pro Slice) produzierten Zeilen. Diese Zahl steht für die Anzahl der Zeilen für den Slice, die aus der Ausführung des Schritts resultieren, nicht für die Anzahl der Zeilen, die von dem Schritt empfangen oder verarbeitet wurden. Anders ausgedrückt ist dies die Anzahl der Zeilen, die den Schritt überstehen und an den nächsten Schritt weitergegeben werden. |
bytes | bigint | Anzahl der von dem Schritt (pro Slice) produzierten Bytes. |
label | char(256) | Schritt-Etikett, bestehend aus dem Namen eines Abfrageschritts und, falls anwendbar, der Tabellen-ID und dem Tabellennamen (zum Beispiel )., scan tbl=100448 name =user ). 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 festplattenbasierte Operation 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. Dies ist der query_working_mem-Schwellenwert, der während der Ausführung zur Verwendung zugewiesen wird, nicht die Speichermenge, die tatsächlich genutzt wurde. |
is_rrscan | character(1) | „true“ (t ) zeigt an, dass für diesen Schritt ein Scan mit Bereichseinschränkung durchgeführt wurde. |
is_delayed_scan | character(1) | „true“ (t ) zeigt an, dass für diesen Schritt ein verzögerter Scan durchgeführt wurde. |
rows_pre_filter | bigint | Bei Scans permanenter Tabellen die Gesamtzahl der Zeilen, die nach der Filterung der zur Löschung markierten Zeilen ausgegeben wurden (Geisterzeilen), jedoch vor der Anwendung benutzerdefinierter Abfragefilter. |
Beispielabfragen
Die folgende Abfrage zeigt die Datenverzerrung der von der Abfrage mit der Abfrage-ID 279 ausgegebenen Zeilen. Verwenden Sie diese Abfrage, um festzustellen, ob die Datenbank gleichmäßig über die Slices in dem Data Warehouse-Cluster verteilt sind:
select query, segment, step, max(rows), min(rows), case when sum(rows) > 0 then ((cast(max(rows) -min(rows) as float)*count(rows))/sum(rows)) else 0 end from svl_query_report where query = 279 group by query, segment, step order by segment, step;
Diese Abfrage sollte der folgenden Beispielausgabe ähnliche Daten ausgeben:
query | segment | step | max | min | case ------+---------+------+----------+----------+---------------------- 279 | 0 | 0 | 19721687 | 19721687 | 0 279 | 0 | 1 | 19721687 | 19721687 | 0 279 | 1 | 0 | 986085 | 986084 | 1.01411202804304e-06 279 | 1 | 1 | 986085 | 986084 | 1.01411202804304e-06 279 | 1 | 4 | 986085 | 986084 | 1.01411202804304e-06 279 | 2 | 0 | 1775517 | 788460 | 1.00098637606408 279 | 2 | 2 | 1775517 | 788460 | 1.00098637606408 279 | 3 | 0 | 1775517 | 788460 | 1.00098637606408 279 | 3 | 2 | 1775517 | 788460 | 1.00098637606408 279 | 3 | 3 | 1775517 | 788460 | 1.00098637606408 279 | 4 | 0 | 1775517 | 788460 | 1.00098637606408 279 | 4 | 1 | 1775517 | 788460 | 1.00098637606408 279 | 4 | 2 | 1 | 1 | 0 279 | 5 | 0 | 1 | 1 | 0 279 | 5 | 1 | 1 | 1 | 0 279 | 6 | 0 | 20 | 20 | 0 279 | 6 | 1 | 1 | 1 | 0 279 | 7 | 0 | 1 | 1 | 0 279 | 7 | 1 | 0 | 0 | 0 (19 rows)