Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 MySQL MyISAM 表,它有 6.5G 开销。我怀疑我是否应该优化表,或者只是创建一个新表,从旧表填充并重命名它。
这是一个生产环境,因此停机时间应尽可能短。最好的方法是什么?
创建一个新表并转置数据意味着原始表仍然可读,但是,如果您允许对其进行写入,则必须在复制完成后转置这些写入。优化过程更可靠,因为它在操作完成之前不允许写入,但正如您所注意到的,这确实涉及一些停机时间。
这实际上取决于此表上是否有足够的写入活动来导致问题。
您可能应该从测试机器上的备份中恢复此数据库,并尝试几种不同的方法来执行此操作,然后再将其提交到您的生产系统上。