将一个非常大的 SQL 表拆分为多个较小的表

Sar*_*rge 1 sql-server export sql-server-2012

是否可以在表中的列中搜索 1-2000 的数值范围,然后将每一整行复制到不同的表中?通过这样做,技术上将表格分成更小的部分。

Aar*_*and 5

解决问题背后的问题:

也许你可以回答这个问题。是否可以在表中的列中搜索 1-2000 的数值范围,然后将每一整行复制到不同的表中?

如果您已经有一个可以“分区”表的列,那么您可以执行以下操作:

SELECT * 
 INTO dbo.newtable_0001_to_2000 
 FROM dbo.existingtable 
 WHERE column >= 1 AND column <= 2000;

SELECT * 
 INTO dbo.newtable_2001_to_4000 
 FROM dbo.existingtable 
 WHERE column >= 2001 AND column <= 4000;

...
Run Code Online (Sandbox Code Playgroud)

请注意,这将为您提供可预测的行数,但不会控制行的大小,因此根据每个“分区”中的数据,这些表的大小可能不同。