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