Ich habe eine MySQL-Datenbank mit einer MyISAM-Tabelle mit 4 Millionen Zeilen. Ich aktualisiere diese Tabelle ungefähr einmal pro Woche mit ungefähr 2000 neuen Reihen. Nach der Aktualisierung ändern ich dann die Tabelle wie folgt aus:MySQL ALTER TABLE auf sehr großen Tisch - ist es sicher, es zu betreiben?
ALTER TABLE x ORDER BY PK DESC
ich die Tabelle durch den Primärschlüsselfeld bestellen in absteigender Reihenfolge. Das hat mir auf meinem Entwicklungsrechner (Windows mit 3GB Speicher) keine Probleme bereitet. Dreimal habe ich es erfolgreich auf dem Linux-Produktionsserver versucht (mit 512MB RAM - und die sortierte Tabelle in jeweils ca. 6 Minuten erreicht), beim letzten Mal musste ich die Abfrage nach ca. 30 Minuten anhalten und neu aufbauen Datenbank von einem Backup.
Kann ein 512MB Server mit dieser alter-Anweisung auf einer so großen Tabelle zurechtkommen? Ich habe gelesen, dass eine temporäre Tabelle erstellt wird, um den ALTER TABLE-Befehl auszuführen.
Frage: Kann dieser Befehlsänderung sicher ausgeführt werden? Was sollte die erwartete Zeit für die Änderung der Tabelle sein?
Ich denke, "sehr große Tabelle" ist wahrscheinlich eine Übertreibung. 4M Zeilen ist keine sehr große Tabelle. 1bn könnte möglicherweise sein. – MarkR