Von einem Skript aus habe ich tausende Male eine solche Anfrage an meine lokale Datenbank gesendet:
update some_table set some_column = some_value
Ich habe vergessen, den where-Teil hinzuzufügen, daher wurde dieselbe Spalte für alle Zeilen in der Tabelle auf den gleichen Wert gesetzt. Dies wurde tausende Male durchgeführt und die Spalte wurde indiziert, sodass der entsprechende Index wahrscheinlich zu oft aktualisiert wurde .
Ich habe festgestellt, dass etwas nicht stimmt, weil es zu lange gedauert hat, also habe ich das Drehbuch getötet. Ich habe seitdem sogar meinen Computer neu gestartet, aber etwas ist in der Tabelle hängen geblieben, da die Ausführung einfacher Abfragen sehr lange dauert und wenn ich versuche, den entsprechenden Index zu löschen, schlägt dies mit der folgenden Meldung fehl:
Lock wait timeout exceeded; try restarting transaction
Es ist eine innodb-Tabelle, daher ist die Transaktion wahrscheinlich implizit. Wie kann ich diese Tabelle reparieren und die feststeckende Transaktion daraus entfernen?
SHOW FULL PROCESSLIST
?