将列添加到巨大的表中

问题描述 投票:2回答:1

我有一个表,其中包含约130亿条记录。该表的大小约为800 GB。我想向表中添加tinyint类型的列,但运行添加列命令需要花费大量时间。另一种选择是使用附加列创建另一个表,并使用BCP(数据导出和导入)将数据从源表复制到新表,或将数据直接复制到新表。

是否有更好的方法来实现这一目标?

sql-server-2017
1个回答
1
投票

我对这种大小的表的偏爱是创建一个新表,然后将记录批处理到其中(BCP,大容量插入,SSIS,无论您喜欢什么)。这可能需要更长的时间,但是可以防止日志耗尽。您还可以首先处理最相关的数据(例如最近30天),交换表,然后批处理剩余的历史记录,以便您可以立即利用新行...如果您的应用程序符合该策略。

© www.soinside.com 2019 - 2024. All rights reserved.