Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Brechen Sie eine Abfrage ab

Fokusmodus
Brechen Sie eine Abfrage ab - 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.

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.

Wenn Sie eine Abfrage ausführen, die zu lange dauert oder zu viele Ressourcen verbraucht, brechen Sie die Abfrage ab. Zum Beispiel: Erstellen Sie eine Liste von Ticketverkäufern, die die Namen der Verkäufer und die Anzahl der verkauften Tickets enthält. Die folgende Abfrage wählt Daten aus der SALES-Tabelle und der USERS-Tabelle aus und verbindet beide Tabellen durch den Abgleich von SELLERID und USERID in der WHERE-Klausel.

SELECT sellerid, firstname, lastname, sum(qtysold) FROM sales, users WHERE sales.sellerid = users.userid GROUP BY sellerid, firstname, lastname ORDER BY 4 desc;

Das Ergebnis sieht in etwa wie folgt aus.

sellerid | firstname | lastname | sum ----------+-----------+----------+------ 48950 | Nayda | Hood | 184 19123 | Scott | Simmons | 164 20029 | Drew | Mcguire | 164 36791 | Emerson | Delacruz | 160 13567 | Imani | Adams | 156 9697 | Dorian | Ray | 156 41579 | Harrison | Durham | 156 15591 | Phyllis | Clay | 152 3008 | Lucas | Stanley | 148 44956 | Rachel |Villarreal| 148
Anmerkung

Dies ist eine komplexe Abfrage. Für dieses Tutorial müssen Sie sich über den Aufbau dieser Abfrage keine Gedanken machen.

Die vorherige Abfrage dauert wenige Sekunden und gibt 2 102 Zeilen aus.

Angenommen, Sie hätten die WHERE-Klausel vergessen.

SELECT sellerid, firstname, lastname, sum(qtysold) FROM sales, users GROUP BY sellerid, firstname, lastname ORDER BY 4 desc;

Der Ergebnissatz enthält dann alle Zeilen in der SALES-Tabelle, multipliziert mit allen Zeilen in der USERS-Tabelle (49989*3766). Dies ist eine so genannte Cartesische Verbindung, die nicht zu empfehlen ist. Das Ergebnis sind mehr als 188 Millionen Zeichen, und die Verarbeitungszeit ist extrem lang.

Um eine laufende Abfrage abzubrechen, verwenden Sie den Befehl CANCEL mit der Sitzungs-ID der Abfrage. Mit dem Amazon Redshift Redshift-Abfrage-Editor v2 können Sie eine Abfrage abbrechen, indem Sie auf die Schaltfläche Abbrechen klicken, während die Abfrage ausgeführt wird.

Um die Sitzungs-ID zu finden, starten Sie eine neue Sitzung und fragen Sie die Tabelle STV_RECENTS ab, wie im vorherigen Schritt gezeigt. Das folgende Beispiel zeigt, wie Sie die Ergebnisse lesbarer machen können. Verwenden Sie dazu die TRIM-Funktion, um nachfolgende Leerzeichen abzuschneiden, und zeigen Sie nur die ersten 20 Zeichen der Abfragezeichenfolge an.

Führen Sie die folgende SELECT-Anweisung aus, um die Sitzungs-ID einer laufenden Abfrage zu ermitteln.

SELECT user_id, session_id, start_time, query_text FROM sys_query_history WHERE status='running';

Das Ergebnis sieht in etwa wie folgt aus.

user_id | session_id | start_time | query_text ---------+---------------+----------------------------+---------------------------------------------------------------- 100 | 1073791534 | 2024-03-19 22:26:21.205739 | SELECT user_id, session_id, start_time, query_text FROM ...

Führen Sie den folgenden Befehl aus1073791534, um die Abfrage mit der Sitzungs-ID abzubrechen.

CANCEL 1073791534;
Anmerkung

Der Befehl CANCEL stoppt eine Transaktion nicht. Um eine Transaktion zu stoppen oder rückgängig zu machen, müssen Sie den Befehl ABORT oder ROLLBACK verwenden. Um eine mit einer Transaktion verbundene Abfrage abzubrechen, brechen Sie zuerst die Abfrage ab und stoppen Sie dann die Transaktion.

Wenn die abgebrochene Abfrage mit einer Transaktion verbunden ist, verwenden Sie den Befehl ABORT oder ROLLBACK, um die Transaktion abzubrechen und alle an den Daten vorgenommen Änderungen zu verwerfen:

ABORT;

Sie können nur Ihre eigenen Abfragen abbrechen, sofern Sie nicht als Superuser angemeldet sind. Superuser können alle Abfragen abbrechen.

Wenn Ihr Abfragetool nicht die gleichzeitige Ausführung von Abfragen unterstützt, starten Sie zum Abbruch der Abfrage eine weitere Sitzung.

Weitere Informationen zum Stornieren einer Abfrage finden Sie unter CANCEL im Amazon Redshift Database Developer Guide.

Abbrechen einer Abfrage mit der Superuser-Warteschlange

Wenn in Ihrer aktuellen Sitzung zu viele Abfragen gleichzeitig ausgeführt werden, können Sie möglicherweise erst dann den CANCEL-Befehl ausführen, wenn eine andere Abfrage abgeschlossen ist. Führen Sie in diesem Fall den CANCEL-Befehl mit einer anderen Workload-Verwaltungs-Abfragewarteschlange aus.

Workload-Verwaltung ermöglicht Ihnen die Ausführung von Abfragen in verschiedenen Abfragewarteschlangen, so dass Sie nicht warten müssen, bis eine andere Abfrage abgeschlossen ist. Der Workload Manager erstellt eine separate Warteschlange mit der Bezeichnung „Superuser-Warteschlange“, die Sie für Fehlerbehebungszwecke verwenden können. Um die Superuser-Warteschlange verwenden zu können, melden Sie sich als Superuser an und setzen Sie die Abfragegruppe mit dem SET-Befehl auf „Superuser“. Setzen Sie nach der Ausführung Ihrer Befehle die Abfragegruppe mit dem RESET-Befehl wieder zurück.

Um eine Abfrage mithilfe der Superuser-Warteschlange abzubrechen, führen Sie diese Befehle aus.

SET query_group TO 'superuser'; CANCEL 1073791534; RESET query_group;

Auf dieser Seite

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.