Wszelkie zmiany wprowadzone za pomocą ALTER TABLE
która wymaga kopii tabeli, zablokuje tabelę. To jest najważniejsza kwestia dla aplikacji. Tabela będzie niedostępna z zapytań przez żadną aplikację.
Jak długo trwa ta blokada, zależy od rozmiaru tabeli, wydajności serwera i innego obciążenia serwera.
Możesz wprowadzać zmiany przy minimalnym przestoju, jeśli używasz narzędzia do zmiany schematu online, takiego jak pt-online-schema-change .
Inną strategią jest wprowadzanie zmian w tabelach w instancji repliki bazy danych. Tabele mogą mieć inny silnik magazynu w replice niż w modelu głównym. Nie obchodzi cię, że tabele są zablokowane, po prostu spowoduje to opóźnienie replikacji, a gdy zmiany zostaną wykonane, replikacja powinna nadrobić zaległości. Po zakończeniu możesz przełączyć aplikację tak, aby korzystała z repliki, a następnie zlikwidować poprzednią instancję bazy danych master.