将列添加到一个巨大的 table
Add column to a huge table
我有一个 table 大约有 130 亿条记录。 table 的大小约为 800 GB。我想向 table 添加一个 tinyint 类型的列,但是 运行 添加列命令需要很多时间。另一种选择是使用附加列创建另一个 table 并使用 BCP(数据导出和导入)将数据从源 table 复制到新的 table 或直接将数据复制到新的 table.
有没有更好的方法来实现这个?
我对这种大小的 table 的偏好是创建一个新的 table,然后将记录分批放入其中(BCP、批量插入、SSIS,无论您喜欢什么)。这可能需要更长的时间,但它可以防止您的日志爆裂。您还可以先处理最相关的数据(比如最近 30 天),换出 table,然后批处理剩余的历史记录,以便您可以立即利用新行……如果您的应用程序排队采用该策略。
我有一个 table 大约有 130 亿条记录。 table 的大小约为 800 GB。我想向 table 添加一个 tinyint 类型的列,但是 运行 添加列命令需要很多时间。另一种选择是使用附加列创建另一个 table 并使用 BCP(数据导出和导入)将数据从源 table 复制到新的 table 或直接将数据复制到新的 table.
有没有更好的方法来实现这个?
我对这种大小的 table 的偏好是创建一个新的 table,然后将记录分批放入其中(BCP、批量插入、SSIS,无论您喜欢什么)。这可能需要更长的时间,但它可以防止您的日志爆裂。您还可以先处理最相关的数据(比如最近 30 天),换出 table,然后批处理剩余的历史记录,以便您可以立即利用新行……如果您的应用程序排队采用该策略。