应用程序将排序数据逐行插入到表中,我希望提高插入的性能。
我应该在运行应用程序之前创建聚簇索引(它在开头是空的)还是在运行结束时?
也许最好将数据导入临时表并在每次X插入时将其插入主表?
答案 0 :(得分:0)
我不建议您在需要导入时删除和添加索引。
你评论说
源是由插入每个的应用程序进行的计算 导致单独的查询
这意味着您无法绕过各个插入语句。因此,下一个要考虑的解决方案是多线程化您的应用程序。
让数据库通过索引处理数据的排序,这将是您的应用程序和数据库之间的IO延迟导致延迟。
如果您可以计算下一个结果,而另一个线程正在等待它insert
完成,那么您将节省大量时间。
替代解决方案
您可以让应用程序将结果写入文件(快速),然后使用SSIS或BULK INSERT将结果批量导入数据库。