更改 Aurora 数据库中的命令(添加新列)

需要添加一个具有默认值 varchar(1) 的新列,其中表有 7500 万+ 条记录。在 perf 环境中执行测试,它在 40 分钟内运行良好,但没有实时流量。无论如何,我们可以加快速度吗? 禁用表上的索引可以帮助加快alter 命令吗?

yhb200906 回答:更改 Aurora 数据库中的命令(添加新列)

禁用索引可能会有所帮助,但是当您再次启用索引时,它们必须重新构建,这也需要很长时间。我认为你最终不会节省任何时间。

但我建议学习使用 pt-online-schema-change。这是一个在后台运行架构更改的工具,可以这么说,而您的应用程序可以继续读取和写入原始表。

运行更改可能需要更长的时间。但您不介意,因为没有停机时间。假设需要两个小时而不是 40 分钟。没关系,因为应用程序不必等待架构更改完成。

在我的工作中,我们每周在生产中运行数百次架构更改,而且没有停机。模式更改工具确实需要在其工作开始和结束时短暂锁定表。

本文链接:https://www.f2er.com/756205.html

大家都在问