1

我有一个 MySQL MyISAM 表,它有 6.5G 开销。我怀疑我是否应该优化表,或者只是创建一个新表,从旧表填充并重命名它。

这是一个生产环境,因此停机时间应尽可能短。最好的方法是什么?

4

1 回答 1

0

创建一个新表并转置数据意味着原始表仍然可读,但是,如果您允许对其进行写入,则必须在复制完成后转置这些写入。优化过程更可靠,因为它在操作完成之前不允许写入,但正如您所注意到的,这确实涉及一些停机时间。

这实际上取决于此表上是否有足够的写入活动来导致问题。

您可能应该从测试机器上的备份中恢复此数据库,并尝试几种不同的方法来执行此操作,然后再将其提交到您的生产系统上。

于 2012-09-27T14:38:38.640 回答