如何将新列添加到表中存在大量数据的数据库基表中



我在表中有大量数据,例如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(。 然后,您可以向其添加新的"列"。

"添加列是经常发生的" - 设计不佳。 向我们展示架构,以便我们可以讨论具体的替代方案。

最新更新