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.
SVCS_ALERT_EVENT_LOG
Zeichnet eine Warnung auf, wenn der Abfrageoptimierer Bedingungen identifiziert, die auf Leistungsprobleme hinweisen können. Diese Ansicht ist von der LOG Systemtabelle STL _ _ ALERT EVENT _ abgeleitet, zeigt jedoch bei Abfragen, die auf einem Parallelitätsskalierungscluster ausgeführt werden, nicht die Slice-Ebene an. Verwenden Sie die LOG Tabelle SVCS _ ALERT EVENT _, 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.
Anmerkung
Systemansichten mit dem Präfix SVCS enthalten Details zu Abfragen sowohl auf dem Haupt- als auch auf dem Parallelitätsskalierungscluster. Die Ansichten ähneln den Tabellen mit dem Präfix, mit der STL Ausnahme, dass die STL Tabellen nur Informationen für Abfragen enthalten, die auf dem Hauptcluster ausgeführt werden.
SVCS_ 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.
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. |
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. Dieselbe Abfrage kann mehrere haben, PIDs wenn sie auf mehreren Segmenten 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 | Uhrzeit, zu der UTC 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 . |
Nutzungshinweise
Sie können das SVCS _ _ ALERT EVENT _ verwenden, LOG um potenzielle Probleme in Ihren Abfragen zu identifizieren, und dann die Anleitungen unter befolgen, Optimierung der Abfrageleistung um Ihr Datenbankdesign zu optimieren und Ihre Abfragen neu zu schreiben. SVCS_ _ ALERT EVENT _ LOG zeichnet die folgenden Warnmeldungen auf:
-
Fehlende Statistik
Es fehlen statistische Daten. Führen Sie die ANALYZE folgenden Datenladevorgänge oder wichtige Aktualisierungen aus und verwenden Sie sie STATUPDATE zusammen mit COPY Vorgängen. 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 Systemtabelle 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 Schlüssel sortieren. -
Ü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 Datenverteilung zur Abfrageoptimierung.
-
Large-Broadcast
Für mehr als 1.000.000 Zeilen wurde ein Broadcast für Hash-Join durchgeführt. Weitere Informationen finden Sie unter Datenverteilung zur Abfrageoptimierung.
-
Serielle Ausführung
Im Abfrageplan wurde ein DIST ALL DS_ _ _ INNER -Umverteilungsstil angegeben, der eine serielle Ausführung erzwingt, da die gesamte innere Tabelle auf einen einzelnen Knoten umverteilt wurde. Weitere Informationen finden Sie unter Datenverteilung zur Abfrageoptimierung.
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 svcs_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)