sql >> Databasteknik >  >> RDS >> Mysql

Konvertera MyISAM till InnoDB. Välgörande? Konsekvenser?

Trots eventuella fördelar/nackdelar med dess användning, som diskuteras i andra trådar ( MyISAM kontra InnoDB ), är migration en icke-trivial process.

Överväg

  • Funktionstestning av alla komponenter som pratar med databasen om möjligt - olika motorer har olika semantik
  • Kör så mycket prestandatester du kan – vissa saker kan förbättras, andra kan vara mycket sämre. Ett välkänt exempel är SELECT COUNT(*) på ett stort bord.
  • Kontrollera att all din kod kommer att hantera låsningar på ett elegant sätt – du kan få dem utan explicit användning av transaktioner
  • Uppskatta hur mycket utrymme du får genom att konvertera – testa detta i en icke-produktionsmiljö.

Du kommer utan tvekan att behöva ändra saker i en stor mjukvaruplattform; det här är ok, men eftersom du (förhoppningsvis) har en hel del autotesttäckning borde förändring vara acceptabel.

PS:Om "Något börjar belasta CPUn", så bör du a) ta reda på vad, i en icke-produktionsmiljö, b) Prova olika alternativ för att minska den, i en icke-produktionsmiljö. Du bör inte blint börja göra stora saker som att byta databasmotor när du inte har analyserat problemet helt.

All prestandatestning bör göras i en icke-produktionsmiljö, med produktionsliknande data och på produktionsklassad hårdvara. Annars är det svårt att tolka resultat korrekt.



  1. Vad är skillnaden mellan MyISAM och InnoDB?

  2. Använder dataskyddad med ett anpassat nyckellager från Linux

  3. MySQL ::Välj från kommaseparerad sträng

  4. isset()-funktionen returnerar true även när objektet inte är inställt