Ho una grande tabella con una colonna VARCHAR (20) e devo modificarla per diventare una colonna VARCHAR (50). In genere, l'esecuzione di ALTER TABLE (aggiunta di TINYINT) su questa particolare tabella richiede circa 90-120 minuti per il completamento, quindi posso davvero farlo solo il sabato o la domenica sera per evitare di influenzare gli utenti del database. Se possibile, vorrei fare questa modifica prima di allora.
Anche la colonna è indicizzata, che presumo rallenterà ALTER TABLE, perché deve ricostruire l'indice dopo aver modificato la lunghezza della colonna.
L'app Web è configurata in un ambiente di replica MySQL (26 slave e un master). Ricordo una volta che ho letto da qualche parte che un metodo è prima di eseguire ALTER TABLE su ogni slave (riducendo al minimo l'impatto sugli utenti), quindi farlo sul Master, ma non tenterà quindi di replicare il comando ALTER TABLE sugli slave?
Quindi la mia domanda è: qual è il modo migliore per me di modificare questa tabella con un'interruzione minima per i miei utenti?
Modifica: la tabella è InnoDB.