一尘不染

SQLBulkCopy或批量插入

sql

我大约有6500个文件,总共约17GB的数据,这是我第一次不得不移动我称之为大数据的文件。数据位于网络驱动器上,但是单个文件相对较小(最大7 MB)。

我正在用C#编写程序,我想知道如果我使用BULK
INSERT而不是SQLBulkCopy会在性能上产生显着差异。服务器上的表也有一个额外的列,因此,如果我使用BULKINSERT,则必须使用格式文件,然后为每一行运行UPDATE。

我是论坛的新手,所以如果有更好的方法提出这个问题,请随时提及。


阅读 144

收藏
2021-03-17

共1个答案

一尘不染

通过测试,BULK INSERT 速度 快得多。使用SQLBulkCopy一个小时后,我可能只处理了四分之一的数据,而我已经写完了另一种方法(包括午餐)。当我写完这篇文章(约3分钟)时,BULK
INSERT大约完成了三分之一。

对于任何希望以此为参考的人,也值得一提的是,没有主键的上传速度更快。

应当指出,造成这种情况的主要原因之一可能是服务器是一台功能更强大的计算机,而这并不是对算法效率的分析,但是我仍然建议使用BULK
INSERT作为平均值。服务器可能比普通台式计算机快得多。

2021-03-17