在C#向sqlserver插入大量数据的时候,有几种方法的比较:
1.生成语句,然后执行语句。效率最差的一种;
2.使用存储过程,较之前一种方法,效率会有提高,但是比较繁琐的就是需要在sqlserver中也要写入相应的T-Sql语句;
3.使用SqlBulkCopy ,这是网上说的效率最高的一种,测试之后,也确实有较高的处理效率
有人做过统计:
写入十万笔资料10次的平均秒数
使用SqlBulkCopy:2.2051
使用AddWithValue:63.418
写入一万笔资料10次的平均秒数
使用SqlBulkCopy:0.2188
使用AddWithValue:6.3856
写入一千笔资料10次的平均秒数
使用SqlBulkCopy:0.0187
使用AddWithValue:0.5805
写入一百笔资料10次的平均秒数
使用SqlBulkCopy:0.0062
使用AddWithValue:0.0353
写入十笔资料10次的平均秒数
使用SqlBulkCopy:0.004
使用AddWithValue:0.004
所以今后在插入数据的时候首选SqlBulkCopy
实例:
首先,生成datatable:
<span style="white-space:pre"&g