黑马程序员技术交流社区

标题: 有什么高效的方法可以实现大批量数据插入数据库中? [打印本页]

作者: itheima_xu    时间: 2014-4-7 19:24
标题: 有什么高效的方法可以实现大批量数据插入数据库中?
.net 怎样向mssqlserver和mysql数据库一次性大批量的数据插入?
作者: Doublekill    时间: 2014-4-7 19:37
   在某些场景下,可能需要在短时间内向数据库中插入大量数据,数据来源可能是性能非常高的实时数据库或者文件,然后转换为关系数据库中的内容,这就要求关系数据库具有非常高的写入性能。

解决办法

    解决办法1:在默认情况下,Sql Server把每一次写入当做一个事物处理,在大数据量写入的情况下,每一次写入的事物处理需要耗费非常多的性能和时间,如果插入10w条记录,使用10w次insert语句,在普通pc上30秒钟都无法完成,如果仅启用一次事物,然后做10W次insert操作,仅需要短短的1秒钟就可以完成。

    解决办法2:使用SqlBulkCopy,使用SqlBulkCopy可以在大数据量转移时在很大程度上提高性能,使用该类的ColumnMappings属性可以建立源表和目标表的映射关系,实例代码如下:http://www.cnblogs.com/horsonjin/archive/2011/09/08/2171708.html




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2