电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

SQLServer批量插入数据的两种方法VIP专享VIP免费

SQLServer批量插入数据的两种方法_第1页
SQLServer批量插入数据的两种方法_第2页
SQLServer批量插入数据的两种方法_第3页
SQLServer 批量插入数据的两种方法发布:dxy 字体:[增加 减小] 类型:转载 在SQL Server 中插入一条数据使用Insert 语句,但是如果想要批量插入一堆数据的话,循环使用Insert 不仅效率低,而且会导致SQL 一系统性能问题。下面介绍 SQL Server 支持的两种批量数据插入方法:Bulk 和表值参数(Table-Valued Parameters)。 运行下面的脚本,建立测试数据库和表值参数。 复制代码 代码如下: --Create DataBase create database BulkTestDB; go use BulkTestDB; go --Create Table Create table BulkTestTable( Id int primary key, UserName nvarchar(32), Pwd varchar(16)) go --Create Table Valued CREATE TYPE BulkUdt AS TABLE (Id int, UserName nvarchar(32), Pwd varchar(16)) 下面我们使用最简单的Insert 语句来插入100 万条数据,代码如下: 复制代码 代码如下: Stopwatch sw = new Stopwatch(); SqlConnection sqlConn = new SqlConnection( ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString);//连接数据库 SqlCommand sqlComm = new SqlCommand(); sqlComm.CommandText = string.Format("insert into BulkTestTable(Id,UserName,Pwd)values(@p0,@p1,@p2)");//参数化 SQL sqlComm.Parameters.Add("@p0", SqlDbType.Int); sqlComm.Parameters.Add("@p1", SqlDbType.NVarChar); sqlComm.Parameters.Add("@p2", SqlDbType.VarChar); sqlComm.CommandType = CommandType.Text; sqlComm.Connection = sqlConn; sqlConn.Open(); try { //循环插入100 万条数据,每次插入10 万条,插入10 次。 for (int multiply = 0; multiply < 10; multiply++) { for (int count = multiply * 100000; count < (multiply + 1) * 100000; count++) { sqlComm.Parameters["@p0"].Value = count; sqlComm.Parameters["@p1"].Value = string.Format("User-{0}", count * multiply); sqlComm.Parameters["@p2"].Value = string.Format("Pwd-{0}", count * multiply); sw.Start(); sqlComm.ExecuteNonQuery(); sw.Stop(); } //每插入10 万条数据后,显示此次插入所用时间 Console.WriteLine(string.Format("Elapsed Time is {0} Milliseconds", sw.ElapsedMilliseconds)); } } c...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部