Ich habe die Struktur einer großen Tabelle mit kopiert (es ist übrigens eine InnoDB- Tabelle).
CREATE TABLE tempTbl LIKE realTbl
Dann habe ich einen Index geändert und ihn ausgefüllt, damit ich einen Test durchführen kann. Das Befüllen erfolgte mit:
INSERT INTO `tmpTbl`
SELECT *
FROM `realTbl`
Das hat zu lange gedauert, deshalb wollte ich diesen Test beenden. 1
Ich habe den Prozess abgebrochen, während er sich im Status "Daten senden" befand: Er ist jetzt "beendet" und befindet sich immer noch im Status "Daten senden".
Ich weiß, dass einige abgebrochene Prozesse Änderungen rückgängig machen müssen und daher (gleichermaßen?) Lange dauern können, um beendet zu werden, verglichen mit der Dauer, in der sie ausgeführt wurden, aber ich kann mir nicht vorstellen, warum dies jetzt der Fall ist: Die gesamte Tabelle muss geleert werden.
Ich bin gespannt, was passiert, wenn eine einfache Abfrage wie diese sehr lange gestoppt / beendet werden muss. Um Ihnen einige Zahlen zu geben: Der Einsatz lief eine oder drei Stunden, der Kill ist jetzt näher an 5 7. Es sieht fast so aus, als würde es DELETE
für jedes INSERT
Mal ausgeführt, und das Löschen dauert länger als das Einfügen? Wäre das überhaupt logisch?
(Und wenn jemand weiß, wie man meinen Testserver wieder in Form bringt, wäre das auch schön, da er einige Ressourcen verbraucht, aber das ist im Moment nicht wirklich wichtig :))
1) Ich weiß noch nicht warum (es ist eine große Tabelle, 10 Millionen Zeilen, aber es sollte so lange dauern?), Aber das ist eine andere Sache / nicht Teil dieser Frage :). Es könnte sein, dass mein Test klüger oder schneller hätte sein können, aber das ist jetzt auch nicht die Frage: D.