0

我有一张有 100 000 000 行的大桌子。它包含一棵有一个根的树。树实现为 2 个字段:

id int
parent_id int

没有关于这棵树的附加数据。

我想在表格中添加新列

层次结构id

并用层次结构值填充它。

我创建了一个脚本,但它可以工作约 15 小时。不行。它应该在 <3 小时内执行。怎么做?谢谢。

4

1 回答 1

0

我以前遇到过这个。向表中添加列实际上意味着重新定义它在文件系统上的存储,因此,如果表又大又满,那么重新定义意味着当 SQL 努力将数据从旧表定义移动到新的 - 因此它需要永远。

我认为最快的方法是使用添加的列创建一个新表,然后在从旧表中以块的形式导出数据后,将数据(而不是插入)BCP 到新表中。BCP 的优点是速度超快。

于 2013-07-12T10:48:33.107 回答