Ändern des Datentyps einer Spalte in einer HUGE-Tabelle. Performance-Probleme

8

Ich möchte das auf meinem Tisch ausführen:

%Vor%

Aber mein Tisch ist riesig, er hat mehr als 65 Millionen (65 Millionen) Reihen. Jetzt, wenn ich es ausführe, dauert es fast 50 Minuten, um diesen Befehl auszuführen. Gibt es eine bessere Möglichkeit, die Tabelle zu ändern?

    
Kiran 12.06.2012, 11:30
quelle

3 Antworten

3

Nun, du brauchst

%Vor%

Aber Sie haben Recht, es dauert eine Weile, bis Sie die Änderung vornehmen. Es gibt wirklich keine schnellere Möglichkeit, die Tabelle in MySQL zu ändern.

Geht es Ihnen während des Umbaus um Ausfallzeiten? Wenn ja, ist hier ein möglicher Ansatz: Kopieren Sie die Tabelle in eine neue, ändern Sie dann den Spaltennamen in der Kopie und benennen Sie die Kopie um.

Sie haben wahrscheinlich herausgefunden, dass die routinemäßige Änderung von Spaltennamen in Tabellen in einem Produktionssystem keine gute Idee ist.

    
O. Jones 12.06.2012, 11:41
quelle
2

Eine weitere Variante, um percona toolkit zu verwenden Ссылка

    
gayavat 26.11.2015 15:18
quelle
0

Sie können die Schemaänderung ohne Ausfallzeiten mit Oak durchführen.

eiche-online-alter-table Kopiert das Schema der Originaltabelle, wendet Ihre Änderungen an und kopiert dann die Daten. Die CRUD-Operationen können immer noch aufgerufen werden, da oak einige Trigger auf die Originaltabelle setzt, so dass während der Operation keine Daten verloren gehen.

Siehe andere Fragen , wo der Autor von eiche detaillierte Erläuterungen zu diesem Mechanismus gibt und auch andere Werkzeuge vorschlägt. p>     

Michał Knapik 10.12.2013 10:35
quelle

Tags und Links