当在MySQL中执行ALTER TABLE语句时,整个表在语句期间被锁定(允许并发读取,但禁止并发写入)。如果它是一个大表,则可能会在很长一段时间内阻止INSERT或UPDATE语句。有没有一种方法可以进行“热更改”,例如以在整个过程中仍可更新表的方式添加列?
通常,我对MySQL解决方案感兴趣,但如果MySQL无法做到,我也会对其他RDBMS感兴趣。
澄清一下,我的目的仅仅是避免在需要额外表列的新功能投入生产时避免停机。任何数据库架构都会随着时间而改变,这是生活中的事实。我不明白为什么我们应该接受这些变化不可避免地导致停机的原因。那太弱了。