我将大约200万条记录插入到SQL Server 2005表中。该表当前具有聚簇索引和非聚簇索引。我想提高该表中插入查询的性能。任何人都可以了解
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以尝试在插入之前禁用表上的索引,然后再次启用它们。如果要将大量数据插入表中,可能会节省大量时间。
查看有关如何执行此类操作的SQL Server的这篇文章:http://msdn.microsoft.com/en-us/library/ms177406.aspx
答案 2 :(得分:1)
如果没有充分的理由你没有使用批量插入,我会说你最好的选择就是这样做。即:选择行格式然后批量重新插入。
通过执行此数量的普通插入,您将对事务日志造成巨大压力。
如果批量插入不是一个选项,你可以通过将插入分成块来赢得一点点 - 这样你就不会逐行,但不要尝试插入并更新所有一举一动。
我自己也尝试了一下,但没有时间接近确定的答案。 (出于同样的原因,我已经开始提问Performance for RBAR vs. set-based processing with varying transactional sizes。)
答案 3 :(得分:0)
您应该删除索引,然后插入数据,然后重新创建索引。
答案 4 :(得分:-2)
您最多可以在一个插页中插入1000行。
values (a,b,c), (d,f,h)
通过插入主键对数据进行排序。
使用(保持锁定)