[转]DataTable的数据批量写入数据库三种方法比较

来源:互联网 发布:java基础教程 csdn 编辑:程序博客网 时间:2024/06/18 03:29

 

最近在将excel中的文件导入到数据库中,用程序进行编写,由于数据量较大所以速度很慢,后来采用了SqlBulkCopy类,解决了速度的问题,我就insert语句,sqldataadapter.update(dataset,tablename);sqlbulkcopy.WriteToServer(datatable);三个方法的性能进行比较:

1、生成测试的datatable表,表结构如下:

UniqueID(主键,自动增长)  |  CompanyName  |  CompanyCode  |  Address  |  Owner  |  Memo

共6个字段。

2、使用sqlcommand.executenonquery()方法插入

 

插入20000条记录时间:00:00:29.7336000

3、使用sqldataadapter.update(dataset,tablename);

 

插入20000条记录时间:00:00:00.3276000

 

所以说速度是sqlbulkcopy最快,sqldataadapter.update()次之,sqlcommand.ExecuteNonQuery()最慢。