SqlBulkCopy实现大批量数据导入
2016-04-10 12:41
946 查看
//自增列重新生成:SqlBulkCopy bc = new SqlBulkCopy(conn) //自增列保留原值:SqlBulkCopy bc = new SqlBulkCopy(conn,SqlBulkCopyOptions.KeepIdentity) using(SqlBulkCopy sbc = new SqlBulkCopy(conn,SqlBulkCopyOptions.KeepIdentity)) { sbc.DestinationTableName = tableName; foreach (string col in colList) { sbc.ColumnMappings.Add(col, col); } sbc.BulkCopyTimeout = 0; sbc.WriteToServer(dt); }
SqlBulkCopy原理是采用了SQL Server的BCP协议进行数据的批量复制,结合使用事务,就我们的案例而言,大约每批800条是平衡点,性能比逐条插入提高了100多倍,并前面同样使用事务批量插入的案例性能提升了7倍以上。
相关文章推荐
- ubuntu上搭建vsftpd且通过mysql来管理FTP账号
- Oracle SQL Developer 打开无法使用的问题
- Android学习第六周_SQLite和ContentProvider
- oracle学习之三:Oracle11g64位+win7x64+PLSQL+Developer的解决办法
- SQLiteOpenHelper类的简化操作数据库(api查询方式)
- SQLiteOpenHelper类基础
- SQL Server Data Tools 2013中保存包save copy of
- SQL2008创建订阅报错:使用存储过程sp_dropdistributor,或使用禁用发布和分发向导
- 160409 11:06:06 [ERROR] Can't open the mysql.plugin table.
- PL/SQL Developer中文版下载以及使用图解(绿色版)
- Open edX Devstack使用图形界面工具链接MySQL远程vagrant数据库
- [Zabbix3.0] 添加MySQL监控
- [Zabbix3.0] 添加MySQL监控
- 配置Tableau Desktop连接SparkSQL
- MYSQL企业常用架构与调优经验分享
- MYSQL企业常用架构与调优经验分享
- 解决从mysql端使用sqoop导入hive端字段类型不匹配问题
- PLSQL Developer连接远程oracle配置
- sqldeveloper插入中文数据时出现乱码
- Oracle database sqldeveloper study(1)