Mam dużą tabelę z kolumną VARCHAR (20) i muszę ją zmodyfikować, aby stała się kolumną VARCHAR (50). Zazwyczaj wykonanie ALTER TABLE (dodanie TINYINT) na tym konkretnym stole zajmuje około 90-120 minut, więc naprawdę mogę to zrobić tylko w sobotę lub niedzielę wieczorem, aby uniknąć wpływu na użytkowników bazy danych. Jeśli to możliwe, chciałbym wcześniej dokonać tej modyfikacji.
Kolumna jest również indeksowana, co, jak zakładam, spowoduje spowolnienie ALTER TABLE, ponieważ musi ona odbudować indeks po zmodyfikowaniu długości kolumny.
Aplikacja internetowa jest skonfigurowana w środowisku replikacji MySQL (26 urządzeń slave i jeden master). Pamiętam, jak kiedyś czytałem, że jedną z metod jest najpierw wykonanie ALTER TABLE na każdym slave (minimalizowanie wpływu na użytkowników), a następnie zrobienie tego na Master, ale czy to nie będzie wtedy próba replikacji polecenia ALTER TABLE na slave?
Więc moje pytanie brzmi: jaki jest najlepszy sposób na zmodyfikowanie tej tabeli przy minimalnych zakłóceniach dla moich użytkowników?
Edycja: tabela to InnoDB.