将大量数据插入分区表SQL Server的最快方法

时间:2015-03-31 17:07:41

标签: sql-server performance bulkinsert

我有一张13 TB大的桌子(由于历史原因)。

我想重新加载数据,因为我在该表中损坏并复制了数据。

问题是将数据加载到空的分区表(按月分区)的最快方法是什么?

我的想法:

  1. 通过填充分区切片来填充表格。我创建了两个或三个(取决于I / O上限)临时表,并通过SSIS OLEDB(openrowset bulk)将数据一次加载到三个临时表。然后我切换分区继续接下来的三个。

  2. 通过" normal"一次插入最新和最旧的数据插入(我不认为聚集索引会像那样)

  3. ???

  4. 那么最好和最快的方式是什么?

2 个答案:

答案 0 :(得分:0)

您可以实现的最大速度增益是删除目标表上的所有索引,加载数据(可能使用选项1),然后重建所有索引(首先是聚簇索引)。将源数据和目标mdf / ndf保存在不同的物理驱动器上(希望是RAID)。

您可以通过右键单击索引并选择脚本索引创建到来编写索引的脚本。如果索引已分区,则确保包含分配信息。

答案 1 :(得分:0)

最大的好处是使用Bulk Insert Function,这是为了处理集合而不是基于行的操作我不知道你从哪里导入数据但是我想它如果你正在处理腐败,那将是一个备份。