SQLBulkCopyまたは一括挿入

bulkinsert c# performance sql sqlbulkcopy

質問

私は、約17GBのデータの合計が約6500個のファイルを持っています。これは大量のデータと呼ぶように移動しなければならないのは初めてのことです。データはネットワークドライブ上にありますが、個々のファイルは比較的小さい(最大7 MB)。

私はC#でプログラムを書いていますが、SQLBulkCopyの代わりにBULK INSERTを使用すると、パフォーマンスに大きな違いがあるかどうかは分かりませんでした。サーバー上のテーブルにも余分な列があるので、BULK INSERTを使用する場合は、書式ファイルを使用して、各行に対してUPDATEを実行する必要があります。

私はフォーラムには新しく、この質問をするより良い方法があれば、そのことについても言及することは自由です。

受け入れられた回答

テストでは、BULK INSERTははるかに高速です。 SQLBulkCopyを使用して1時間後、私はおそらく私のデータの方法の四分の一だった、と私は代替方法を書いて(そして昼食を食べて)終了しました。私がこの記事を書き終えるまでに(約3分)、BULK INSERTは約3分の1でした。

これを参考にしている人にとっては、主キーがなくてもアップロードが高速であることに言及する価値があります。

この主な原因の1つは、サーバーがかなり強力なコンピューターであり、これはアルゴリズムの効率性の分析ではないことですが、BULK INSERTを使用することを推奨しますサーバーはおそらく平均的なデスクトップコンピュータよりもはるかに高速です。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ