データベースに保存したい大量のデータを受信しているアプリケーションがあります。私の現在の戦略は、準備ができたときに各レコードで非同期呼び出し(BeginExecuteNonQuery)を実行することです。アプリケーションの残りの部分がスムーズに実行されるように、非同期呼び出しを使用しています。
私が抱えている問題は、データの量が増えるにつれて、最終的には、接続がまだ使用されている間にコマンドを実行しようとしているところに到達することです。私は2つの可能なオプションを見ることができます:
- 既存のコマンドが終了するまで、保留中のデータを自分でバッファリングします。
- 必要に応じて複数の接続を開きます。
これらのオプションのどれが最適か、または実際にもっと良い方法があるかどうかはわかりません。オプション1はおそらく私のバッファがどんどん大きくなることにつながるでしょうが、オプション2は非常に悪い形かもしれません-私にはわかりません。
どんな助けでもいただければ幸いです。