SQLBulkCopy或批量插入

bulkinsert c# performance sql sqlbulkcopy

我有大約6500個文件,總和大約17 GB的數據,這是我第一次移動我稱之為大量數據的東西。數據位於網絡驅動器上,但各個文件相對較小(最大7 MB)。

我正在用C#編寫一個程序,如果我使用BULK INSERT而不是SQLBulkCopy,我想知道是否會注意到性能上的顯著差異。服務器上的表也有一個額外的列,所以如果我使用BULK INSERT,我將不得不使用格式文件,然後為每一行運行UPDATE。

我是新來的論壇,所以如果有更好的方式來問這個問題,請隨意提及。

一般承認的答案

通過測試,BULK INSERT 快得多。使用SQLBulkCopy一小時後,我可能只有四分之一通過我的數據,我已經完成了替代方法的編寫(和午餐)。當我寫完這篇文章(約3分鐘)時,BULK INSERT大約有三分之一的時間。

對於那些將此作為參考的人來說,值得一提的是,如果沒有主鍵,上傳速度會更快。

應該注意的是,其中一個主要原因可能是服務器是一台功能更強大的計算機,而且這不是對算法效率的分析,但是我仍然建議使用BULK INSERT作為平均值。服務器可能比普通台式計算機快得多。



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因