Bir VARCHAR (20) sütun ile büyük bir tablo var ve bir VARCHAR (50) sütun olmak için değiştirmek gerekir. Genellikle, bu özel tabloda bir ALTER TABLE (bir TINYINT ekleyerek) işleminin tamamlanması yaklaşık 90-120 dakika sürer, bu yüzden veritabanının kullanıcılarını etkilemekten kaçınmak için bunu sadece bir Cumartesi veya Pazar gecesi yapabilirim. Mümkünse o zamandan önce bu değişikliği yapmak istiyorum.
Sütun ayrıca, ALTER TABLE'ı daha yavaş yapacağını düşündüğüm dizine eklenir, çünkü sütun uzunluğunu değiştirdikten sonra dizini yeniden oluşturmak zorundadır.
Web uygulaması bir MySQL çoğaltma ortamında (26 slave ve bir master) kurulur. Bir yerde okuduğumda, bir yöntemin her köle üzerinde ALTER TABLE (kullanıcılar üzerindeki etkiyi en aza indirerek) gerçekleştirmek olduğunu hatırlıyorum, sonra bunu Master üzerinde yapıyorum, ancak bu daha sonra ALTER TABLE komutunu slave'lere kopyalamaya çalışmıyor mu?
Benim sorum şu: Kullanıcılarımı minimum kesintiyle bu tabloyu değiştirmem için en iyi yol nedir?
Düzenleme: tablo InnoDB'dir.