如何在没有锁定的情况下将索引应用于MySQL / MyISAM表?

时间:2009-03-10 20:12:54

标签: mysql myisam

拥有一个生产表,其中一个非常关键的列(日期)缺少一个索引,有没有办法在没有用户影响的情况下应用所述索引?

该表目前每秒大约有5-10个插入,因此全表锁定已经完成;将这些插入重定向到替代表/数据库,甚至是暂时的,也被拒绝(出于公司政治原因)。还有其他方法吗?

1 个答案:

答案 0 :(得分:2)

据我所知,MyISAM无法做到这一点。每秒有5-10个INSERT,你应该考虑InnoDB,除非你没有读那么多。

您是否正在使用复制,最好在Master-Master设置中? (您应该!)如果是这种情况,您可以在备用服务器上CREATE INDEX,切换角色并执行相同操作,然后切换回来。请务必暂时禁用复制(使用master-master时),以避免将CREATE INDEX复制到活动节点。

根据您是否主要使用该表来存档日志或类似内容,您可能还会查看存档存储引擎。