STL_ALERT_EVENT_LOG - 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_ALERT_EVENT_LOG

Zeichnet eine Warnung auf, wenn der Abfrageoptimierer Bedingungen identifiziert, die auf Leistungsprobleme hinweisen können. Verwenden Sie die Ansicht STL_ALERT_EVENT_LOG, um Möglichkeiten zur Verbesserung der Abfrageleistung zu identifizieren.

Eine Abfrage besteht aus mehreren Segmenten, und jedes Segment besteht aus einem oder mehreren Schritten. Weitere Informationen finden Sie unter Verarbeitung von Abfragen.

STL_ALERT_EVENT_LOG 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_ALERT_EVENT_LOG enthält nur Abfragen, die auf Haupt-Clustern ausgeführt werden. Abfragen, die auf Nebenläufigkeitsskalierungs-Clustern ausgeführt werden, sind nicht enthalten. Um auf Abfragen zuzugreifen, die sowohl auf Haupt-Clustern als auch auf Nebenläufigkeitsskalierungs-Clustern 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.
pid integer Die mit der Anweisung und dem Slice verbundene Prozess-ID. Eine Abfrage kann mehrere PIDs haben, wenn sie für mehrere Slices ausgeführt wird.
xid bigint Mit der Anweisung verbundene Transaktions-ID.
event character(1024) Beschreibung des Warnungsereignisses.
solution character(1024) Empfohlene Lösung.
event_time 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. Zum Beispiel , .: 2009-06-12 11:29:19.131358.

Nutzungshinweise

Sie können mit STL_ALERT_EVENT_LOG potenzielle Probleme in Ihren Abfragen identifizieren und dann den Vorgehensweisen in Optimieren der Abfrageleistung folgen, um Ihr Datenbankdesign zu optimieren und Ihre Abfragen neu zu gestalten. STL_ALERT_EVENT_LOG zeichnet die folgenden Warnungen auf:

  • Fehlende Statistik

    Es fehlen statistische Daten. Führen Sie nach Datenladevorgängen oder größeren Aktualisierungen ANALYZE aus, und verwenden Sie STATUPDATE mit COPY-Operationen. Weitere Informationen finden Sie unter Bewährte Methoden für die Gestaltung von Abfragen mit Amazon Redshift.

  • Verschachtelte Schleife

    Eine verschachtelte Schleife ist normalerweise ein cartesisches Produkt. Prüfen Sie Ihre Abfrage, um sicherzustellen, dass alle beteiligten Tabellen effizient verbunden sind.

  • Sehr selektiver Filter

    Das Verhältnis der zurückgegebenen zu den gescannten Zeilen ist kleiner als 0,05. Bei den gescannten Zeilen handelt es sich um den Wert von rows_pre_user_filter und bei den zurückgegebenen Zeilen um den Wert der Zeilen in der Systemansicht STL_SCAN. Zeigt an, dass die Abfrage eine ungewöhnlich große Zahl von Zeilen scannt, um den Ergebnissatz zu bestimmen. Die Ursache können fehlende oder inkorrekte Sortierschlüssel sein. Weitere Informationen finden Sie unter Arbeiten mit Sortierschlüsseln.

  • Übermäßig viele Geisterzeilen

    Ein Scan übersprang eine sehr große Zahl von Zeilen, die als gelöscht markiert sind, jedoch nicht bereinigt wurden, oder es wurden Zeilen eingefügt, aber nicht bestätigt (Commit). Weitere Informationen finden Sie unter Bereinigen von Tabellen.

  • Large-Verteilung

    Es wurden mehr als 1.000.000 Zeilen für Hash-Join oder Aggregierung neu verteilt. Weitere Informationen finden Sie unter Arbeiten mit Datenverteilungsstilen.

  • Large-Broadcast

    Für mehr als 1.000.000 Zeilen wurde ein Broadcast für Hash-Join durchgeführt. Weitere Informationen finden Sie unter Arbeiten mit Datenverteilungsstilen.

  • Serielle Ausführung

    In dem Abfrageplan wird ein Umverteilungsstil von DS_DIST_ALL_INNER angezeigt, der die serielle Ausführung erzwingt, da die gesamte innere Tabelle an einen einzelnen Knoten umverteilt wurde. Weitere Informationen finden Sie unter Arbeiten mit Datenverteilungsstilen.

Beispielabfragen

Die folgende Abfrage zeigt Warnungsereignisse für vier Abfragen an.

SELECT query, substring(event,0,25) as event, substring(solution,0,25) as solution, trim(event_time) as event_time from stl_alert_event_log order by query; query | event | solution | event_time -------+-------------------------------+------------------------------+--------------------- 6567 | Missing query planner statist | Run the ANALYZE command | 2014-01-03 18:20:58 7450 | Scanned a large number of del | Run the VACUUM command to rec| 2014-01-03 21:19:31 8406 | Nested Loop Join in the query | Review the join predicates to| 2014-01-04 00:34:22 29512 | Very selective query filter:r | Review the choice of sort key| 2014-01-06 22:00:00 (4 rows)