Ich verwende truncate table table_name; auf einem Tisch mit etwa 1 Million Zeilen, aber es dauert zu lange, seit den letzten 3 Stunden läuft.
Ist das normal? Können Sie eine andere Möglichkeit vorschlagen, um alle Zeilen aus einer Tabelle zu löschen, die schneller sein könnten?
Abschneiden funktioniert in einigen Fällen nicht wie
wenn Sie eine Art Index und einige Fremdschlüsseleinschränkungen haben
Einfacher Weg, den ich vorschlage, ist
%Vor% oder Sie können auch DELETE FROM table_name;
Ich glaube, ein Deadlock tritt während der Abfrageausführung auf, daher ist es besser, ihn zu beenden.
Ich habe viele Daten gelöscht, indem ich kleine Blöcke in einer einzigen Abfrage löschte (10k funktioniert gut).
Sie könnten also ein Skript einrichten, das dies für Sie erledigt.
Ich hatte gerade einen trunkate Take für immer (über 6 Minuten) und dann habe ich ihn abgebrochen. So dachte ich. Tatsächlich hatte dieser Schritt viel weniger als eine Sekunde gedauert, und ich hatte den Schritt zwei Aktionen SPÄTER abgebrochen - das Aktionsausgabefenster war nicht aktualisiert worden.
Tags und Links mysql