【问题标题】:Alter command in the Aurora DB (add a new Column)Aurora DB 中的 Alter 命令(添加新列)
【发布时间】:2021-03-15 14:53:30
【问题描述】:

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

【问题讨论】:

    标签: mysql command alter


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 谢谢比尔。这是一个免费的工具吗?在哪里运行?
    • 许可证在我链接到的文档中。您可以在任何可以运行 MySQL 命令行客户端的地方运行它。
    猜你喜欢
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 2019-11-10
    • 2019-03-16
    • 2016-10-28
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    相关资源
    最近更新 更多