我定期需要对mysql 5.1中的表进行更改,主要是添加列。使用alter table命令非常简单。但是我的表现在有多达4000万行,并且它们正在快速增长……所以那些alter table命令要花费几个小时。我猜,几个月后,他们将需要几天的时间。
由于我使用的是Amazon RDS,因此无法使用从属服务器,然后再升级为主服务器。所以我的问题是,是否有一种方法可以使停机时间最少?如果用户仍然可以使用数据库,那么我不介意花费数小时甚至数天的操作...当然,他们至少可以在添加列时读取吗?如果我的应用尝试写怎么办?插入还是更新?如果它立即失败,那实际上还不是很坏,如果它只是挂起并导致数据库服务器出现问题,那将是一个大问题。
这必须是一个相当普遍的扩展问题,每个人都需要添加列。.对生产数据库通常做什么?从站->主迁移?
更新 -我忘了说我正在使用innodb存储引擎