我正在处理一个拥有近 5000 万条数据(2GB 大小)的表。我需要优化性能。因此,当我通过 phpmyadmin 面板在列上添加索引时,表被锁定并导致该表上队列中的所有查询被阻塞,最终导致重新启动/终止所有查询。 (是的,我忘了提及我是在生产中这样做的。我的错!)
当我做了一些研究时,我发现了一些解决方案,例如创建重复表,但有其他方法吗?
您可以按照以下步骤操作,
但是正如您所说,您是在生产中执行此操作,那么您需要在删除表并创建另一个表时考虑实时流量
接受的答案是正确的,但是,正如 @RickJames 在评论中提到的 你可能想使用
pt-online-schema-change
,它可以为你做所有事情,并且可以做更多的黑魔法。它也经过了战斗考验。
它是 Percona ToolKit 的一部分