Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Konvertieren von MyISAM in InnoDB. Vorteilhaft? Konsequenzen?

Ungeachtet aller Vor- und Nachteile seiner Verwendung, die in anderen Threads diskutiert werden ( MyISAM versus InnoDB ), Migration ist ein nichttrivialer Prozess.

Betrachten Sie

  • Funktionstest aller Komponenten, die mit der Datenbank kommunizieren, wenn möglich - Differenz-Engines haben unterschiedliche Semantik
  • Führen Sie so viele Leistungstests wie möglich durch - einige Dinge können sich verbessern, andere können viel schlechter sein. Ein bekanntes Beispiel ist SELECT COUNT(*) auf einer großen Tabelle.
  • Überprüfen, ob Ihr gesamter Code Deadlocks ordnungsgemäß behandelt - Sie können sie ohne explizite Verwendung von Transaktionen erhalten
  • Schätzen Sie, wie viel Speicherplatz Sie durch die Konvertierung erhalten – testen Sie dies in einer Nicht-Produktionsumgebung.

Sie werden zweifellos Dinge in einer großen Softwareplattform ändern müssen; Das ist in Ordnung, aber da Sie (hoffentlich) eine Menge Autotest-Abdeckung haben, sollten Änderungen akzeptabel sein.

PS:Wenn "Etwas beginnt, die CPU zu belasten", dann sollten Sie a) herausfinden, was in einer Nicht-Produktionsumgebung, b) Verschiedene Optionen ausprobieren, um es in einer Nicht-Produktionsumgebung zu reduzieren. Sie sollten nicht blind anfangen, wichtige Dinge wie das Ändern von Datenbankmodulen zu tun, wenn Sie das Problem nicht vollständig analysiert haben.

Alle Leistungstests sollten in einer Nicht-Produktionsumgebung mit produktionsähnlichen Daten und auf produktionstauglicher Hardware durchgeführt werden. Andernfalls ist es schwierig, die Ergebnisse richtig zu interpretieren.