>데이터 베이스 >MySQL 튜토리얼 >.NET批量大数据插入性能分析及比较(1.准备工作)

.NET批量大数据插入性能分析及比较(1.准备工作)

WBOY
WBOY원래의
2016-06-07 15:14:351000검색

最近公司内训中,学员有DataTable中批量大 数据 插入 数据 库的业务需求。 所以做了一个简单的Demo, 分析 比较 下。 测试环境 OS:Windows 7 旗舰版 CPU:Intel(R) Pentium(R) Dual CPU E2180 @2.00GHz RAM:2.00GB 数据 插入 使用了以下几种方式 1. 逐条

最近公司内训中,学员有DataTable中批量大数据插入数据库的业务需求。

 

所以做了一个简单的Demo,分析比较下。

 

测试环境

OS:Windows 7 旗舰版
CPU:Intel(R) Pentium(R) Dual CPU E2180 @2.00GHz
RAM:2.00GB

 

数据插入使用了以下几种方式

1. 逐条数据插入
2. 拼接sql语句批量插入
3. 拼接sql语句并使用Transaction
4. 拼接sql语句并使用SqlTransaction
5. 使用DataAdapter
6. 使用TransactionScope及SqlBulkCopy
7. 使用表值参数

 

数据库使用SQL Server,脚本如下

 

create table TestTable
(
Id int
,Name nvarchar(20)
)

 

程序中生成测试DataTable结构和测试数据的类如下

 

测试程序使用Windows Form,界面如下

 

使用Log4net记录日志,默认插入记录数为40000条,每次插入1条,可在界面修改,使用System.Diagnostics.StopWatch记录插入时间,每次测试后删除原表重建

 

窗体代码如下:

 

 

全文链接:

.NET批量大数据插入性能分析比较(1.准备工作)

.NET批量大数据插入性能分析比较(2.普通插入与拼接sql批量插入)

.NET批量大数据插入性能分析比较(3.使用事务)

.NET批量大数据插入性能分析比较(4.使用DataAdapter批量插入)

.NET批量大数据插入性能分析比较(5.使用SqlBulkCopy)

.NET批量大数据插入性能分析比较(6.使用表值参数)

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.