在SQL Server上插入多行的最佳方法

bal*_*dre 0 c# sql-server mongodb

因为我正在使用共享的Microsoft SQL Server实例,所以我已经开始使用MongoDB,因为每秒大约有10个插入更快.

在一天结束时,我需要从MongoDB(MongoHQ)读取并将所有数据插入共享SQL Server实例(托管提供程序).

目前我正在做这个流程:

  1. 从MongoDB获取1000行
  2. 打开与SQL Server的连接
  3. 对于每一行
    1. 使用存储过程将数据插入SQL Server(因为需要进行计算)
    2. 更新MongoDb行*(因此我们以后不会选择已处理的行)
  4. 关闭与SQL Server的连接
  5. GO TO 1

有了这个,我每周大约3秒就 "浪费" ......

有没有办法加快速度

目前使用C#执行所有代码.

ind*_*per 5

你有救援的SQLbulkcopy类.

在这里阅读更多细节.

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy(v=vs.100).aspx

谢谢,海军