将数据从一个表传输到分区表需要更多时间

时间:2014-09-26 09:11:59

标签: sql sql-server database-administration

场景:我们有一个临时表(将其视为表A),每月刷新一次。每个月表A都被截断并插入 有大约600万条记录一旦在表A上完成强制更新,我们就必须将记录移到主表(表B)。 表B按月划分,其中包含2010年的完整记录历史记录。 表B有1个clus。 index(月份列)和3个非聚集索引。目前表B有180,562,235条记录。 虽然transfer i没有禁用索引,但因为再次启用索引需要更多时间。

问题:从表A到表B的数据传输大约需要2.30小时。我需要减少转移时间。

任何减少时间的建议都会有所帮助。

1 个答案:

答案 0 :(得分:1)

使用分区开关。将索引与分区对齐,然后使用ALTER TABLE ... SWITCH PARTITION ...切换登台。它基本上是瞬间完成的。有关所有详细信息,请阅读Transferring Data Efficiently by Using Partition Switching