Hallo,
ich habe eine mysql-Tabelle, die mehrere Indizes und Indexspalten besitzt. Nun möchte in der Tabelle einen Spalteninhalt komplett leeren, dass mache ich mit folgenden Befehl:
UPDATE table SET spalte4="";
Es ist zwar eine sehr große Tabelle nur dauert diese Abfrage extrem lange (ich hab nach 1 1/2 Tagen abgebrochen), wohingegen andere spalten innerhalb einer halben Stunde abgearbeitet wurden.
Jetzt ist mir aufgefallen das spalte4 in den Indizes als Indexspalte eingetragen ist. kann das ein Grund dafür sein, warum die UPDATE SET Abfrage hier solange dauert.
Ich habe es jetzt schon ein paar mal an anderen mySQL Servern probiert und da dauert es überall genauso lange, außerdem kommt es manchmal zu folgenden Fehler:
'Lock wait timeout exceeded; try restarting transaction'
Habt ihr irgendwelche Tipps wie ich schnell die Spalten in dieser Tabelle (es sind noch mehrere betroffen) leeren kann? Ohne für jede einzelne Spalte Tagelang zu warten...
Ich freue mich auf sämtliche antworten
Viele Grüße
David
ich habe eine mysql-Tabelle, die mehrere Indizes und Indexspalten besitzt. Nun möchte in der Tabelle einen Spalteninhalt komplett leeren, dass mache ich mit folgenden Befehl:
UPDATE table SET spalte4="";
Es ist zwar eine sehr große Tabelle nur dauert diese Abfrage extrem lange (ich hab nach 1 1/2 Tagen abgebrochen), wohingegen andere spalten innerhalb einer halben Stunde abgearbeitet wurden.
Jetzt ist mir aufgefallen das spalte4 in den Indizes als Indexspalte eingetragen ist. kann das ein Grund dafür sein, warum die UPDATE SET Abfrage hier solange dauert.
Ich habe es jetzt schon ein paar mal an anderen mySQL Servern probiert und da dauert es überall genauso lange, außerdem kommt es manchmal zu folgenden Fehler:
'Lock wait timeout exceeded; try restarting transaction'
Habt ihr irgendwelche Tipps wie ich schnell die Spalten in dieser Tabelle (es sind noch mehrere betroffen) leeren kann? Ohne für jede einzelne Spalte Tagelang zu warten...
Ich freue mich auf sämtliche antworten
Viele Grüße
David
Comment