【发布时间】:2011-03-09 05:45:52
【问题描述】:
我有一个包含 10+ 百万行的表。我需要在单个列上创建索引,但是,创建索引需要很长时间,以至于我会锁定表。
需要注意的是,索引是作为“rake db:migrate”步骤的一部分创建的……如果可以的话,我不反对手动创建索引。
更新:我想我应该提到这是一个经常写入的表。
【问题讨论】:
-
锁没问题。您是否遇到超时或死锁?
-
锁不好。这就是抱怨。
-
你找到答案了吗?
-
@Richard,如果您将 MySQL 更新到 >5.1.7 版本,看起来您可以创建一个不锁定数据库的索引。我还没有尝试过,我很幸运能够安排一个较短的停机时间窗口(在安装期间),我可以在其中应用索引。
-
如果您使用 MySQL,请尝试 facebook OSC 或 Percona Toolkit。我们对用于在线模式更改的 Percona 工具包非常满意。
标签: mysql rake ruby-on-rails