快速插入大量数据的asp.net代码(Sqlserver)_MsSql

复制代码 代码如下:

using System.Data;
using System.Diagnostics;
using System.Data.SqlClient;
   
string connectionString = "Data Source=HG-J3EJJ9LSW5PY;Initial Catalog=Test;User ID=sa;password=hg";
DataTable dataTable = sql_.select_datagrid(" select a from large where 1=0 ").Tables[0];
string passportKey;
for (int i = 0; i < 100000; i++)
{
passportKey = Guid.NewGuid().ToString();
DataRow dataRow = dataTable.NewRow();
dataRow[0] = passportKey;
dataTable.Rows.Add(dataRow);
}
SqlConnection sqlConnection = new SqlConnection(connectionString);
sqlConnection.Open();
SqlTransaction sqltran = sqlConnection.BeginTransaction();
SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(sqlConnection, SqlBulkCopyOptions.KeepIdentity, sqltran);
sqlBulkCopy.DestinationTableName = "large";
sqlBulkCopy.BatchSize = dataTable.Rows.Count;
if (dataTable != null && dataTable.Rows.Count != 0)
{
sqlBulkCopy.WriteToServer(dataTable);
}
sqlBulkCopy.Close();
sqltran.Rollback();
sqlConnection.Close();

注解: <1> sqlBulkCopy.DestinationTableName = "large"; large 指的是目标表的名称
<2> DataTable 的结构要和数据库中的表的结构相同
(DataTable的列不能多于数据库里面的)
(DataTable的列可以少于数据库里面的 如果数据库这一列有默认值的话)
<3> 这里面 我使用了事务 您在使用的时候 也可以不用事务

时间: 2024-10-31 12:48:32

快速插入大量数据的asp.net代码(Sqlserver)_MsSql的相关文章

快速插入大量数据的asp.net代码(Sqlserver)

复制代码 代码如下: using System.Data; using System.Diagnostics; using System.Data.SqlClient; string connectionString = "Data Source=HG-J3EJJ9LSW5PY;Initial Catalog=Test;User ID=sa;password=hg"; DataTable dataTable = sql_.select_datagrid(" select a

db2-DB2怎么、快速插入大量数据

问题描述 DB2怎么.快速插入大量数据 总共有10张表,每张表的数据量大概在5000万条,在季度初的时候如:3月,6月,给的是全量数据,在本季和下季度之间的月份(7,8)给的数据是增量(即只给变化过的数据),没变化的数据还在之前季度里面,现在要把临时表的数据导入到正式表,用merge into when matched when not matched 要删掉当前月份和之前月份重复的数据,然后再插入当前月份的数据,但是插入的时候的条件是和删除的条件一致的,他们的条件都是重复的记录时做操作,这样有

关于快速插入大量数据的问题

问题描述 已知tbUserInfo表中有10条记录,要求用比较快的方法向表中插入100万条数据,不考虑记录重复的问题,应该如何解决? 解决方案 解决方案二:写一个查询:INSERTINTOTable1(a,b,c)SELECTa,b,cFROMTable1abc是字段名.然后反复运行它,第一次10条,第二次20条,第三次40条...用不了几下就100多万了解决方案三:要求是一次插入,我想用个循环,2的N次方,这个N就是循环的次数,但是这个N该怎么计算出来,高数没学好,请教了...解决方案四:wh

mysql快速保存插入大量数据一些方法总结

说明: 这几天尝试了使用不同的存储引擎大量插入MySQL表数据,主要试验了MyISAM存储引擎和InnoDB.下面是实验过程: 实现: 一.InnoDB存储引擎. 创建数据库和表  代码如下 复制代码 > CREATE DATABASE ecommerce; > CREATE TABLE employees (         id INT NOT NULL,         fname VARCHAR(30),         lname VARCHAR(30),      birth TI

数据结构-C#有什么方法能把数据快速插入哈希表,

问题描述 C#有什么方法能把数据快速插入哈希表, 现在的速度是 4M大小 时间大概是50ms,还有没有能更快的? 解决方案 4M 50ms相当于每秒80M,对于GHz级别的处理器,每次插入也就用了十几个时钟周期,这个速度不低了.如果你有多个处理器,试试看并行算法. 解决方案二: 看一下相关的c#资料可以自己先写一个类,在类中引用哈希表,再在你指定的位置插入.

MySQL 大数据量快速插入方法和语句优化

MySQL大数据量快速插入方法和语句优化是本文我们主要要介绍的内容,接下来我们就来一一介绍,希望能够让您有所收获! 一.INSERT语句的速度 插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例: 连接:(3) 发送查询给服务器:(2) 分析查询:(2) 插入记录:(1x记录大小) 插入索引:(1x索引) 关闭:(1) 这不考虑打开表的初始开销,每个并发运行的查询打开. 表的大小以logN (B树)的速度减慢索引的插入. 加快插入的一些方法 如果同时从同一个客户端插入很多行,使用含多个

MySQL 大数据量快速插入方法和语句优化分享_Mysql

锁定也将降低多连接测试的整体时间,尽管因为它们等候锁定最大等待时间将上升.例如: 复制代码 代码如下: Connection 1 does 1000 inserts Connections 2, 3, and 4 do 1 insert Connection 5 does 1000 inserts 如果不使用锁定,2.3和4将在1和5前完成.如果使用锁定,2.3和4将可能不在1或5前完成,但是整体时间应该快大约40%. INSERT.UPDATE和DELETE操作在MySQL中是很快的,通过为在

sql生成(插入、修改、删除数据的存储过程)代码的存储过程

GO /****** 对象: StoredProcedure [dbo].[pro_GenerateProSet] 脚本日期: 08/03/2012 11:26:43 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[pro_GenerateProSet]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[pro_GenerateP

将图片插入数据库并使用asp.net读取出来的正确方法

asp.net|插入|数据|数据库 将图片插入数据库并使用asp.net读取出来的正确方法 书写本文是因为今天见到CSDN的首页上一篇存在明显失误的名为"在Asp.Net中从sqlserver检索(retrieve)图片"的文章.不说其错误是因为用其方法确实能从数据库中读取出图片并显示在浏览器,说其失误是因为代码的意图不能被完全的实现,作者也似乎对http协议以及浏览器在处理http数据的流程一知半解. 1.如何出错 以下是这片文章提到的方法: Public Sub Page_Load