将列添加到一个巨大的表

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

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

maoyink 回答:将列添加到一个巨大的表

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

本文链接:https://www.f2er.com/3094816.html

大家都在问