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