你不能真正让这个查询更快。但是你当然可以做一些事情,这样你的应用程序就不会停止太久。
使用其他名称创建此表的副本,例如my_data_alter
. 在此表上运行 alter。
您将需要所有已运行的更新/插入/删除的日志,因为您将副本保存到更改完成的时间。然后你将不得不运行这些查询到my_data_alter
.
如果表中发生的事务数量太大,这将是一个永无止境的循环。
最后,您只需在一个查询中重命名这两个表。
我知道这会非常棘手。在非高峰时间做这种事情。
我建议您编写一些脚本来为您完成这项工作..