sql >> Database >  >> RDS >> Mysql

gevolgen van het wijzigen van de mysql-opslagengine terwijl de applicatie in productie is

Elke wijziging die u aanbrengt met ALTER TABLE waarvoor een tabelkopie vereist is, wordt de tabel vergrendeld. Dit is het belangrijkste probleem voor toepassingen. De tabel is voor geen enkele toepassing toegankelijk voor zoekopdrachten.

Hoe lang deze vergrendeling duurt, hangt af van de grootte van de tafel, de prestaties van uw server en de andere belasting van de server.

U kunt wijzigingen aanbrengen met minimale uitvaltijd als u een online hulpprogramma voor het wijzigen van schema's gebruikt, zoals pt-online-schema-change .

Een andere strategie is om wijzigingen aan te brengen in tabellen op een replicadatabase-instantie. Het is oké dat tabellen een andere opslagengine hebben op een replica dan op de master. U geeft er niet om dat tabellen worden vergrendeld, het zal de replicatie alleen maar vertragen en wanneer de wijzigingen zijn voltooid, moet de replicatie worden ingehaald. Als dat allemaal is gebeurd, kunt u uw toepassing wijzigen om de replica te gebruiken en vervolgens de voormalige hoofddatabase-instantie buiten gebruik stellen.




  1. Wat zijn de voordelen van UPDATE LOW_PRIORITY en INSERT DELAYED INTO?

  2. Module-afhankelijkheden gebruiken, deel 2

  3. Postgresql truncate-tabel met externe sleutelbeperking

  4. MySQL Full Text Search Mystery