質問: 私は、約17GBのデータの合計が約6500個のファイルを持っています。これは大量のデータと呼ぶように移動しなければならないのは初めてのことです。データはネットワークドライブ上にありますが、個々のファイルは比較的小さい(最大7 MB)。 私はC#でプログラムを書いていますが、SQLBulkCopyの代わりにBULK INSERTを使用すると、パフォーマンスに大きな違いがあるかどうかは分かりませんでした。サーバー上のテーブルにも余分な列があるので、BULK INSERTを使用する場合は、書式ファイルを使用して、各行に対してUPDATEを実行する必要があります。 私はフォーラムには新しく、この質問をするより良い方法があれば、そのことについても言及することは自由です。
回答: テストでは、BULK INSERTは**はるかに**高速です。 SQLBulkCopyを使用して1時間後、私はおそらく私のデータの方法の四分の一だった、と私は代替方法を書いて(そして昼食を食べて)終了しました。私がこの記事を書き終えるまでに(約3分)、BULK INSERTは約3分の1でした。 これを参考にしている人にとっては、主キーがなくてもアップロードが高速であることに言及する価値があります。 この主な原因の1つは、サーバーがかなり強力なコンピューターであり、これはアルゴリズムの効率性の分析ではないことですが、BULK INSERTを使用することを推奨しますサーバーはおそらく平均的なデスクトップコンピュータよりもはるかに高速です。