C#:用SqlBulkCopy来实现批量插入数据
2010-03-11 04:29
766 查看
SqlBulkCopy是.net2.0的新特性,平时用的很少,但是其功能却是非常强大,对于批量插入数据性能非常优越
代码
经过1000条数据的对比测试,一般性的循环插入与sqlbulk插入的时间对比为:
一般插入:使用时间0.5200008秒
使用builk插入:使用时间0.02秒
性能非常优越
代码
/// <summary> /// bulk插入 /// </summary> private void BulkInsert() { SqlConnection sqlcon = new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=xiaotest;"); DateTime beginTime = DateTime.Now; DataTable dt = new DataTable(); dt.Columns.Add("n", typeof(string)); dt.Columns.Add("name", typeof(string)); for (int i = 1; i < 1000; i++) { DataRow r = dt.NewRow(); r["n"] = i; r["name"] = "xiao"; dt.Rows.Add(r); } sqlcon.Open(); using (SqlBulkCopy bulk = new SqlBulkCopy("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=xiaotest;")) { bulk.BatchSize = 1000; bulk.DestinationTableName = "test2"; bulk.ColumnMappings.Add("n", "n"); bulk.ColumnMappings.Add("name", "name"); bulk.WriteToServer(dt); } DateTime endTime = DateTime.Now; TimeSpan useTime = endTime - beginTime; dt.Dispose(); time = "使用时间" + useTime.TotalSeconds.ToString() + "秒"; sqlcon.Close(); sqlcon.Dispose();
经过1000条数据的对比测试,一般性的循环插入与sqlbulk插入的时间对比为:
一般插入:使用时间0.5200008秒
使用builk插入:使用时间0.02秒
性能非常优越
相关文章推荐
- [转]C#:用SqlBulkCopy来实现批量插入数据
- C#:用SqlBulkCopy来实现批量插入数据
- C# 数据批量插入到数据库SqlBulkCopy(源数据类型:List<T> Or DataTable)
- 批量插入数据 C# SqlBulkCopy使用
- 批量插入数据 C# SqlBulkCopy使用
- 用SqlBulkCopy实现批量插入数据
- C# SqlBulkCopy实现大数据插入数据库
- 用SqlBulkCopy来实现批量插入数据
- EF结合SqlBulkCopy实现高效的批量数据插入 |EF插件EntityFramework.Extended实现批量更新和删除
- c# 数据库批量插入数据SqlBulkCopy 示例
- 批量插入数据 C# SqlBulkCopy使用
- SqlBulkCopy来实现批量插入数据的功能
- C# 用SqlBulkCopy 批量插入oracle数据 遇到了 ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
- 批量插入数据 C# SqlBulkCopy使用(当插入超过1000行用)
- 批量插入数据 C# SqlBulkCopy使用
- EF结合SqlBulkCopy实现高效的批量数据插入 |EF插件EntityFramework.Extended实现批量更新和删除
- C#:30行数据插入到数据库中的效率测试-一行行执行、构造SQL一次执行、SqlBulkCopy
- SqlBulkCopy实现数据批量复制
- c#向数据库插入较大数据(SqlBulkCopy)
- 使用sqlbulkcopy 批量插入数据