0

共有のMicrosoftSQLServerインスタンスを使用しているため、1秒あたり約10回の挿入が高速であるため、MongoDBの使用を開始しました。

一日の終わりに、MongoDB(MongoHQ)から読み取り、すべてのデータを共有SQL Serverインスタンス(ホスティングプロバイダー)に挿入する必要があります。

現在、私はこのフローを実行しています。

  1. MongoDBから1000行を取得します
  2. SQLServerへの接続を開きます
  3. 各行について
    1. ストアドプロシージャを使用してSQLServerにデータを挿入します(計算を行う必要があるため)
    2. MongoDb行を更新します*(後で処理された行を取得しないようにします)
  4. SQLServerへの接続を閉じます
  5. GO TO 1

そしてこれで、私は1行あたり約3秒を「無駄に」しています...

物事をスピードアップする方法はありますか?

現在、C#を使用してすべてのコードを実行しています。

4

2 に答える 2

5

あなたはあなたの救助のためにSQLbulkcopyクラスを持っています。

詳細については、こちらをご覧ください。

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

ありがとう、海軍

于 2012-12-17T01:17:08.420 に答える
2

バルクインサート機能をご検討ください

http://msdn.microsoft.com/en-us/library/ms188365.aspx

于 2012-12-17T00:38:16.413 に答える