0

次のシナリオで作業する場合、ベストプラクティスと見なされるものは何ですか?

合計で約600万レコードのデータセットがあり、30以上のテーブルに分割されており、一部のテーブルには数十万のレコードがあります。一度に200レコードしか挿入できないAPIを使用する必要があります。

インサートをテーブルごとに分類しています。ここで、頭に浮かんだ最初の2つのオプションを検討しています。そのテーブルの完全なデータセットを取得してから、C#でデータセットをループして、一度に200を挿入するだけです。または、一度に200レコードを取得する複数のデータベース呼び出しを行うことができます。オブジェクトを作成し、APIを呼び出してレコードを挿入します。これは、他のレコードが挿入されている間に次のデータベース呼び出しを行うことができると思います。

4

1 に答える 1

1

複数のスレッドを使用し、それぞれが一度に200を読み取り、挿入します。これは高速になるだけでなく、断片化されたメモリに連続したブロックを割り当てることができないため、その大規模なデータセットで潜在的なOutOfMemoryExceptionsに遭遇することはありません。

于 2012-10-04T21:56:39.367 に答える