1

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

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

4

2 回答 2

2

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

于 2011-01-11T12:21:26.067 回答
2

更少的连接开口

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

于 2011-01-11T12:21:36.490 回答