在MySQL中执行ALTER TABLE语句时,在语句执行期间,整个表都是读锁的(允许并发读取,但禁止并发写入)。如果是一个大表,INSERT或UPDATE语句可能会被阻塞很长一段时间。有没有一种“热修改”的方法,比如添加一列,这样表在整个过程中仍然是可更新的?
我主要对MySQL的解决方案感兴趣,但如果MySQL不能做到这一点,我也会对其他的关系数据库管理系统感兴趣。
为了澄清,我的目的只是为了避免在将需要额外表列的新特性推送到生产环境时出现停机。任何数据库模式都会随着时间的推移而改变,这只是生活中的一个事实。我不明白为什么我们应该接受这些变化必然会导致停机;这是软弱的。
https://stackoverflow.com/questions/463677
复制相似问题