我的表中有大量数据,例如 TB 数据的数量。在该表中添加新列时需要花费大量时间。 假设发布了 2.0,如果我们希望将每个客户的数据库升级到版本 2.0,我们将在表中添加新列。在这个升级过程中,每个客户都花费了大量的时间。根据我们的要求,每个版本我们都会向数据库表中添加新列。每个客户都有 TB 的数据。 我需要在升级数据库时对此进行一些 poc,它不会花费太多时间。 是否有任何解决方案可以动态添加列而不需要花费太多时间。
最佳答案
计划A:使用pt-online-schema-change
计划 B:在与当前表具有相同 PRIMARY KEY
的“并行”表中添加新列。
计划 C:升级到 MySQL 8.0 或 MariaDB 10.3,以便您可以拥有 ALGORITHM=INSTANT
。
计划 D:一次性添加 JSON
列(通过计划 A/B/C)。此后,您可以向其中添加新的“列”。
“添加列是经常发生的事情”- 设计不佳。向我们展示架构,以便我们讨论具体的替代方案。
关于mysql - 如何向数据库表中添加新列,表中存在大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59872400/