SQL Server 批量插入数据的两种方法

SQL Server 批量插入数据的两种方法

ID:40490957

大小:26.29 KB

页数:7页

时间:2019-08-03

SQL Server 批量插入数据的两种方法_第1页
SQL Server 批量插入数据的两种方法_第2页
SQL Server 批量插入数据的两种方法_第3页
SQL Server 批量插入数据的两种方法_第4页
SQL Server 批量插入数据的两种方法_第5页
资源描述:

《SQL Server 批量插入数据的两种方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SQLServer批量插入数据的两种方法      在SQLServer中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题。下面介绍SQLServer支持的两种批量数据插入方法:Bulk和表值参数(Table-ValuedParameters)。运行下面的脚本,建立测试数据库和表值参数。1.--Create DataBase  2.create database BulkTestDB;  3.go  4.use BulkTestDB;  5.go  6.--Create Tabl

2、e  7.Create table BulkTestTable(  8.Id int primary key,  9.UserName nvarchar(32),  10.Pwd varchar(16))  11.go  12.--Create Table Valued  13.CREATE TYPE BulkUdt AS TABLE  14.  (Id int,  15.   UserName nvarchar(32),  16.   Pwd varchar(16))  下面我们使用最简单的Insert语句来插入100万条数据,代码如下:1.Stopwatc

3、h sw = new Stopwatch();  2.  3.SqlConnection sqlConn = new SqlConnection(  4.    ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString);//连接数据库  5.  6.SqlCommand sqlComm = new SqlCommand();  7.sqlComm.CommandText = string.Format("insert into BulkTestTable(Id,UserName,Pw

4、d)values(@p0,@p1,@p2)");//参数化SQL  8.sqlComm.Parameters.Add("@p0", SqlDbType.Int);  9.sqlComm.Parameters.Add("@p1", SqlDbType.NVarChar);  10.sqlComm.Parameters.Add("@p2", SqlDbType.VarChar);  11.sqlComm.CommandType = CommandType.Text;  1.sqlComm.Connection = sqlConn;  2.sqlConn.Open(

5、);  3.try  4.{  5.    //循环插入100万条数据,每次插入10万条,插入10次。  6.    for (int multiply = 0; multiply < 10; multiply++)  7.    {  8.        for (int count = multiply * 100000; count < (multiply + 1) * 100000; count++)  9.        {  10.  11.            sqlComm.Parameters["@p0"].Value = count;  

6、12.            sqlComm.Parameters["@p1"].Value = string.Format("User-{0}", count * multiply);  13.            sqlComm.Parameters["@p2"].Value = string.Format("Pwd-{0}", count * multiply);  14.            sw.Start();  15.            sqlComm.ExecuteNonQuery();  16.            sw.Stop(

7、);  17.        }  18.        //每插入10万条数据后,显示此次插入所用时间  19.        Console.WriteLine(string.Format("Elapsed Time is {0} Milliseconds", sw.ElapsedMilliseconds));  20.    }  21.}  22.catch (Exception ex)  23.{  24.    throw ex;  25.}  26.finally  27.{  28.    sqlConn.Close();  29.}  30.

8、  31.Console.ReadLi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。