【发布时间】:2011-03-27 23:23:46
【问题描述】:
我们有一个 800 万行的 MySQL 表。我们想从中修剪大约 2m 行,删除一些过时的索引并添加新的索引。为了实现几乎不停机,我们的计划是创建表的克隆(并锁定原始表),运行脚本(Ruby)来修剪我们不再需要的数据,最后添加新索引。然后我们会在 Web 应用程序上放置维护页面,交换它们的名称(通过重命名表)并重新启动应用程序。
这是实现我们最终结果的最佳方式吗?以前有类似情况的人还有其他提示/建议吗?克隆表的最佳方法是什么(超级酷的秘密 mysql cmds)?批量删除行的最佳/最快方法?
【问题讨论】:
-
执行当前脚本需要多长时间?有什么想法吗?
-
试图让暂存服务器跟上脚本的时间,但 Amazon EC2 出现容量错误