Ich möchte Engine von 2 Millionen Zeilen Tabelle von MyISAM zu InnoDB ändern. Ich habe Angst vor dieser langen Operation, also habe ich eine ähnliche Struktur InnoDB Tabelle erstellt und jetzt möchte ich alle Daten von alten zu diesem neuen kopieren. Was ist der schnellste Weg? WÄHLEN EINFÜGEN? Was ist mit START TRANSACTION? Bitte, helfen Sie. Ich möchte meinen Server nicht hängen.MySQL Change Engine große Millionen Zeilen Tabelle
Antwort
Tun Sie sich einen Gefallen: Kopieren Sie das gesamte Setup auf Ihren lokalen Computer und probieren Sie es aus. Sie werden eine viel bessere Vorstellung davon haben, worauf Sie sich einlassen. Beachten Sie mögliche Hardwareunterschiede zwischen Ihrem Produktionsserver und Ihrem lokalen Computer.
Der schnellste Weg ist wahrscheinlich der einfachste Weg:
INSERT INTO table2 SELECT * FROM table1;
Ich vermute, dass Sie es nicht tun können, schneller als das, was in die ALTEN gebaut wird. Und es muss alle Daten kopieren und alle Indizes neu erstellen.
Achten Sie darauf, innodb_buffer_pool_size
zur Vorbereitung auf InnoDB ausgelöst haben. Und niedriger key_buffer_size
um Platz zu lassen. Schlagen Sie 35% bzw. 12% RAM für den Übergang vor. Nachdem alle Tabellen konvertiert sind, empfehlen wir 70% und nur 20 MB.
Eine leichte Beschleunigung ist, einige Auswahl, die die gesamte Tabelle und die gesamte PRIMARY KEY
holt (wenn es zwischengespeichert werden kann). Dies wird einige I/O vor dem eigentlichen Start tun. Beispiel: SELECT avg(id) FROM tbl
wobei ID der Primärschlüssel ist. Und SELECT avg(foo) FROM tbl
wo Foo nicht indiziert ist, aber es numerisch ist. Dies wird einen vollständigen Scan des PK-Index und der Daten erzwingen, wodurch die Daten zwischengespeichert werden, die der ALTER
lesen muss.
Weitere Tipps zum Konvertieren: http://mysql.rjweb.org/doc.php/myisam2innodb.
- 1. 30 Millionen Zeilen in MySQL
- 2. Optaplanner - große Datensätze mit Millionen von Zeilen
- 3. Wie kann man MySQL optimieren, um Millionen Zeilen einzufügen?
- 4. Große MySQL-Tabelle tägliche Updates?
- 5. Große Datensatz Abfragen auf Join (15+ Millionen Zeilen)
- 6. Mysql Leistung auf 6 Millionen Zeile Tabelle
- 7. Updating große MySQL-Tabelle
- 8. Datenbankarchitektur für Millionen neuer Zeilen pro Tag
- 9. Beschleunigung langsamer Zählung in einer 2 Millionen Zeilen Tabelle
- 10. schlüsselbasierte Partitionen in mysql für Millionen von Zeilen
- 11. Laden von 5 Millionen Zeilen in Pandas von MySQL
- 12. Wie aktualisiert große Tabelle mit Millionen von Zeilen in SQL Server?
- 13. Abfrage großer Tisch mit 50 Millionen Zeilen
- 14. Optimize Select Abfrage aus einer Tabelle mit Millionen Zeilen
- 15. Schnellste Möglichkeit, Millionen von Zeilen in einer Tabelle mit Millionen von Zeilen in einer anderen Tabelle zu vergleichen
- 16. Trend 100 Millionen + Zeilen
- 17. BigQuery schneller Weg Millionen Zeilen einzufügen
- 18. Große MySQL Tabelle - Index Breaking Down
- 19. Hat jemand pt-online-schema-change zum Ändern einer Tabelle mit 1x Millionen Einträgen verwendet?
- 20. Vergleich der TIMESTAMP-Spalte für große Tabelle
- 21. Abfrage für Tabelle mit Hunderten von Millionen von Zeilen optimieren
- 22. Ändern Tabelle mit Millionen von Zeilen mit Standardwert
- 23. Große Abfrageansicht (Tabelle ohne doppelte Zeilen)
- 24. So aktualisieren Sie Millionen von Zeilen schnell in mysql
- 25. MySQL ist langsam, wenn Datensätze in große Tabelle löschen
- 26. MySQL Monitor Change
- 27. Execute Wählen Abfrage in Mysql-Tabelle über 300 Millionen Zeilen (kein Index) mit mehreren Threads?
- 28. 2 GB-Tabelle mit 10 Millionen Zeilen wählen späte Paginierung ist langsam
- 29. MySQL Volltextsuche extrem langsam auf einer AWS RDS große Instanz
- 30. MYSQL große LIMIT-Offset
Planen Sie eine Ausfallzeit ein. – ajreal