使用SqlBulkCopy批量插入数据,测试20万条用时5秒
2017-06-07 17:23
435 查看
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();
}
}
}
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();
}
}
}
相关文章推荐
- 使用JDBC插入多数据测试的3种实现方法
- XCode使用记录—使用XCode自动向数据库插入测试数据
- MySQL使用存储过程批量插入百(千)万测试数据
- 使用JDBC插入大量数据的性能测试
- 使用mysql存储过程快速插入百万mysql测试数据
- 使用存储过程插入100000条测试数据
- 使用JDBC插入大量数据的性能测试
- [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率
- 使用SqlBulkCopy批量插入数据
- 使用JDBC插入大量数据的性能测试
- 在SQL Server中使用SQLBulkCopy批量插入数据
- MSSQL使用sqlbulkcopy批量插入数据
- 使用JDBC插入多数据测试的3种实现方法
- SQLBULKCOPY批量插入数据使用
- 使用select * 插入数据时候两边表字段顺序的影响测试
- Java使用JDBC向MySQL数据库批次插入10W条数据(测试效率)
- 使用SqlBulkCopy批量插入或迁移数据(转)
- 使用JDBC插入大量数据的性能测试
- 【已解决】unitils使用@DataSet插入测试数据,测试结束后不能回滚
- c#使用SqlBulkCopy批量插入数据