将已排序的数据插入到具有聚簇索引的表中

时间:2013-10-02 14:30:49

标签: sql-server-2005

应用程序将排序数据逐行插入到表中,我希望提高插入的性能。

我应该在运行应用程序之前创建聚簇索引(它在开头是空的)还是在运行结束时?

也许最好将数据导入临时表并在每次X插入时将其插入主表?

1 个答案:

答案 0 :(得分:0)

我不建议您在需要导入时删除和添加索引。

你评论说

  

源是由插入每个的应用程序进行的计算   导致单独的查询

这意味着您无法绕过各个插入语句。因此,下一个要考虑的解决方案是多线程化您的应用程序。

让数据库通过索引处理数据的排序,这将是您的应用程序和数据库之间的IO延迟导致延迟。

如果您可以计算下一个结果,而另一个线程正在等待它insert完成,那么您将节省大量时间。

替代解决方案

您可以让应用程序将结果写入文件(快速),然后使用SSIS或BULK INSERT将结果批量导入数据库。