通过组插入减少sql server开销

时间:2011-01-11 12:10:55

标签: sql-server batch-insert

我有一个抓取工具,可以跨网页获取文档。当我收到一个页面时,我立即在sql server中插入内容(每秒20次插入)。这会降低我的应用程序和服务器响应速度。我以为我可以在一个组中收集20个项目,然后使用带有(20 * fieldCount)的存储过程插入它。

这减少了sql server的开销,但我不知道将200个参数传递给sql server存储过程不会产生另一个开销。请帮我。 有没有更好的方法来减少频繁插入的开销?

2 个答案:

答案 0 :(得分:2)

您可以准备xml数据,然后在存储过程的输入参数中传递xml。在使用openXml的存储过程中,您可以在DB中插入数据。

答案 1 :(得分:2)

减少连接开放

即使调用与现在相同的SP并连续20次调用它也会更快。因为您只建立一次SQL连接然后再输入20条记录。主要的开销是打开和关闭连接。

相关问题