使用SqlBulkCopy批量插入数据,测试20万条用时5秒
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace confirmBeiZhu
{
class Program
{
static void Main(string[] args)
{
fabu();
}
protected static void fabu()
{
DateTime time1 = DateTime.Now;
string connectionString = "Max Pool Size=100000; Data Source=localhost;Initial Catalog=collection40;User ID=sa;Password=ccc";
SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.UseInternalTransaction);
sqlbulkcopy.DestinationTableName = "xyAddress";//数据库中的表名
SqlConnection sqlconnection = new SqlConnection(connectionString);
SqlDataAdapter sqldataadapter = new SqlDataAdapter("select * from xyAddress where 1=2", sqlconnection);
DataSet dataset = new DataSet();
sqldataadapter.Fill(dataset, "xyAddress");
DataTable datatable = dataset.Tables[0];
//生成20000条记录
//INSERT INTO [XyAddress] ([], [], [], [], [], [], [], [], [], []) VALUES ('', '', '', '', '', '', '', '', '', '')
for (int i = 0; i < 2; i++)
{
DataRow dr = datatable.NewRow();
dr["relation"] = "本人";
dr["xm"] = "张三" + i.ToString();
dr["leixing"] = "你好类型";
dr["dizhi"] = "你好2123" + i.ToString();
dr["hide"] = "0";
datatable.Rows.Add(dr);
}
sqlbulkcopy.WriteToServer(dataset.Tables[0]);
if (null != sqlconnection)
{
if (sqlconnection.State == ConnectionState.Open)
{
sqlconnection.Close();
sqlconnection.Dispose();
}
sqlconnection.Dispose();
}
DateTime time2 = DateTime.Now;
TimeSpan ts = time2 - time1;
Console.WriteLine("已处理完毕" + ts.TotalSeconds.ToString());
Console.ReadLine();
}
}
}
使用SqlBulkCopy批量插入数据,测试20万条用时5秒的更多相关文章
- C#中的SqlBulkCopy批量插入数据
在C#中,我们可以使用sqlBulkCopy去批量插入数据,其他批量插入方法不在讨论. 1 /// <summary> 2 /// SqlBulkCopy批量插入数据 3 /// < ...
- sql 中的Bulk和C# 中的SqlBulkCopy批量插入数据 ( 回顾 and 粗谈 )
通常,我们会对于一个文本文件数据导入到数据库中,不多说,上代码. 首先,表结构如下. 其次,在我当前D盘中有个文本文件名为2.txt的文件. 在数据库中,可以这样通过一句代码插入. Bulk in ...
- SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法
原文:SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法 在new SqlBulkCopy对象的时候,设置一下SqlBulkCopyOptions选项即可,按位或运算 SqlBulkC ...
- 用SqlBulkCopy批量插入数据到SqlServer数据库表中
首先创建一个数据库连接类:SQLHelper using System; using System.Collections.Generic; using System.Linq; using Syst ...
- MSSQL使用sqlbulkcopy批量插入数据
具体代码如下: /// <summary> /// 批量插入数据到BayonetZipFailedPic表 /// </summary> /// <param name= ...
- 使用 SqlBulkCopy 批量插入数据
/// <summary> /// 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 /// </summary> /// <param name= ...
- sqlbulkcopy 批量插入数据
批量插入 Datetable数据 通过sqlbulkcopy 插入1百万条数据 用时 10秒钟 (有兴趣的小伙伴可以去测试) /// <summary> /// /// </sum ...
- C#使用SqlTransaction事务回滚与SqlBulkCopy批量插入数据
C#中批量处理数据,有时候因为一条记录导致整个批量处理失败.这时候肯能会导致数据不全等问题,这时候我们可以使用SqlTransaction来进行事务回滚,即是要么全部成功要么全部不成功.如下代码 // ...
- c# sqlbulkcopy批量插入数据
dt信息中包含数据和表名 public static void SqlBulkInsert(DataTable dt, string connStr) { try { using (var conn ...
随机推荐
- Python集合的基本操作
#-*coding:utf-8 -* list =set([2,3,4]) list2 =set([5,3,7]) #交集 #print (list.intersection(list2)) #并集 ...
- jquery 设计的思路-----初级
jquery.js 很经典,其中有一些设计思路简直非常经典 1.安全的创建一个构造函数并进行调用: <script> // 这是一种安全的构造函数的创建方法,在调用构造函数G的时候,不论使 ...
- 几道关于springboot、springCloud的面试题。
什么是springboot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(propertites或yml文件) 创建独立的spring引用程序main方法运行 嵌入的tom ...
- RTS寻路相关资料收集
http://www.cocoachina.com/game/20150824/13174.html RVO算法 RVO避开agent
- redisclient can not connect
假如采用传统请执行一下命令: systemctl stop firewalld systemctl mask firewalld 并且安装iptables-services: yum install ...
- Oracle数据库备份/导入工具
expdp和impdp常用于ORACLE数据库的导入导出. expdp导出数据库 1.root用户创建用于impdp/expdp导入导出的目录: # mkdir -p /home/dmpdata # ...
- mac shortcut
在Windows系统中,如果你想跳到行首.行尾直接点击home.end键就可以了,但MacBook的相关快捷键就有些区别了,相关快捷键如下: Ctrl+A:到行首(达到Home键的效果) .fn键+左 ...
- win命令行下载
1.certutil downloader (1) 保存在当前路径,文件名称同URL eg: certutil.exe -urlcache -split -f https://raw.githubus ...
- hexo发表博文
3.4创建博客文章与发布 在hexo 目录下终端命令: $ hexo new '文件名' //会在source/_posts创建一个文件名.md文件 这就可以使用markdown编辑器开始写自己的博客 ...
- C# 图像处理:将图像(24位真彩)转为 8位灰度图像 采用了内存法,大大提高了效率
/// <summary> /// 将源图像灰度化,并转化为8位灰度图像. /// </summary> /// <param name="original&q ...