1

所以我需要一些我正在做的 SQL 工作的帮助。我不是最擅长 SQL,我遇到了一个需要一些指导的问题。我想将我拥有的表拆分为较小的表。那里有一些不属于的行,我想移动它们。

这两个表将具有完全相同的列和架构。

我知道我可以做类似的事情:

Insert into [table1]
Select * From [table2]

出现的问题是有 100,000,000+ 行要移动。这 100,000,000+ 的 RowID 不按顺序排列。否则我只会

Insert into [table1]
    Select * From [table2]
    Where RowID > x AND RowID <= x + y

并迭代直到所有行都被复制。

我知道有可以完成的循环,但到目前为止它们效率低下。我知道这将需要 10 分钟以上的时间,而且很可能需要一些时间。我只是需要一些指导。

我并没有决定只使用 SQL 代码。如果有一个向导可以与 Microsoft SQL Server Management Studio 一起使用来执行此操作,那我很满意。我已经研究了 BULK INSERT 并不太了解这一点,所以对此进行解释就可以了。

任何建议将不胜感激。

4

1 回答 1

0

您需要对表进行分区 - 有介绍/教程

这是一项相当繁重的工作。

于 2012-05-16T23:28:54.447 回答