sql >> Databasteknik >  >> RDS >> Mysql

konsekvenserna av att byta mysql-lagringsmotor medan applikationen körs i produktion

Alla ändringar du gör med ALTER TABLE som kräver en tabellkopia låser bordet. Detta är den viktigaste frågan för applikationer. Tabellen kommer att vara otillgänglig från frågor från alla program.

Hur länge det här låset varar beror på storleken på tabellen och prestanda på din server och den andra belastningen som servern är under.

Du kan göra ändringar med minimal stilleståndstid om du använder ett onlineverktyg för schemaändring som pt-online-schema-change .

En annan strategi är att göra ändringar i tabeller på en replikdatabasinstans. Det är okej att bord har en annan lagringsmotor på en replik än på mastern. Du bryr dig inte om att tabeller är låsta, det kommer bara att få replikeringen att släpa efter och sedan när ändringarna är gjorda bör replikeringen komma ikapp. När allt är klart kan du byta din applikation till att använda repliken och sedan avveckla den tidigare huvuddatabasinstansen.




  1. När en ny rad i databasen läggs till måste ett externt kommandoradsprogram anropas

  2. Aggregat stränganslutning i Oracle 10g

  3. hur visar man fullständig lagrad procedurkod?

  4. Summa värden för flerdimensionell array för nyckel utan loop