2012-08-16 71 views
1

我们有一台服务器,它接收的数据可以转换为我的数据库中的任意数量的行(1-1000)。目前,每个请求数据分别与数据库的BULKINSERTed。bulkinsert插入大小的优化

问题是请求率比较高,加载数据库。 一个地役权是我们可以将数据插入到离线状态(并且在到达时不立即)。这可以在一次调用中启用BULKINSERTing几个请求。我们正在寻找现有的解决方案(最好是C#/ MSSQL),因为这听起来不是一个独特的情况。

谢谢

回答

1

我正在使用的当前系统每秒收到数百条消息。我们验证并将这些消息转换为POCO对象并将它们添加到不同类型的列表中。每隔10秒我们都会使用SqlBulkCopy切换列表并将旧列表批量复制到数据库。我已经做了一篇关于此的博客文章使用SqlBulkCopy with List T

+0

这基本上是完美的方法。如果您处于ASP.NET或WCF的上下文环境中,则可能需要确保在应用程序关闭时所有情况下均会写入挂起的插入。 – usr 2012-08-16 09:14:57