SqlServer的两种插入方式效率对比
protected void button1_Click(object sender, EventArgs e)
{
DataTable dtSource = new DataTable();
dtSource.Columns.Add("Name", typeof(string));
dtSource.Columns.Add("Address", typeof(string));
DataRow dr;
for (int i = 0; i < 100 * 100; i++)
{
dr = dtSource.NewRow();
dr["Name"] = "Name" + i;
dr["Address"] = "Address" + i;
dtSource.Rows.Add(dr);
}
//将内存表dt中的1W条数据一次性插入到t_Data表中的相应列中
System.Diagnostics.Stopwatch st = new System.Diagnostics.Stopwatch();
st.Start();
string connStr = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
using (SqlBulkCopy copy = new SqlBulkCopy(connStr))
{
//1 指定数据插入目标表名称
copy.DestinationTableName = "Student";
//2 告诉SqlBulkCopy对象 内存表中的 OrderNO1和Userid1插入到OrderInfos表中的哪些列中
copy.ColumnMappings.Add("Name", "Name");
copy.ColumnMappings.Add("Address", "Address");
//3 将内存表dt中的数据一次性批量插入到OrderInfos表中
copy.WriteToServer(dtSource);
}
st.Stop();
this.lblPL.InnerText="数据插入成功,总耗时为:" + st.ElapsedMilliseconds + "毫秒";
}
protected void button2_Click(object sender, EventArgs e)
{
DataTable dtSource = new DataTable();
dtSource.Columns.Add("ID", typeof(int));
dtSource.Columns.Add("Name", typeof(string));
dtSource.Columns.Add("Address", typeof(string));
DataRow dr;
for (int i = 0; i < 100 * 100; i++)
{
dr = dtSource.NewRow();
dr["Name"] = "Name" + i;
dr["Address"] = "Address" + i;
dtSource.Rows.Add(dr);
}
System.Diagnostics.Stopwatch st = new System.Diagnostics.Stopwatch(); //计算时间
st.Start();
string conn = ConfigurationManager.ConnectionStrings["conn"].ConnectionString; //连接数据库
string sqlText = "select * from Student"; //SQL语句,用于查出符合条件的数据库数据
//当上述工作完成之后,我们调用SqlDataAdapter的Fill()方法,将查询出来的数据表内容填充的一张DataTable里面
SqlDataAdapter SDA = new SqlDataAdapter(sqlText, conn);
SDA.Fill(dtSource);
//这个SqlCommandBuilder用来自动生成添加、删除、修改的语句,注意这个参数是刚才建立的SqlDataAdapter。
SqlCommandBuilder SCB = new SqlCommandBuilder(SDA);
SDA.Update(dtSource); //数据录入
st.Stop();
this.lblCT.InnerText="数据插入成功,总耗时为:" + st.ElapsedMilliseconds + "毫秒";
}

SqlServer的两种插入方式效率对比的更多相关文章
- Java多线程13:读写锁和两种同步方式的对比
读写锁ReentrantReadWriteLock概述 大型网站中很重要的一块内容就是数据的读写,ReentrantLock虽然具有完全互斥排他的效果(即同一时间只有一个线程正在执行lock后面的任务 ...
- spring-data-mongodb两种实现方式对比
spring-data-mongodb两种实现方式对比 参考链接:https://blog.csdn.net/feinifi/article/details/83752862
- 固态硬盘和机械硬盘的比较和SQLSERVER在两种硬盘上的性能差异
固态硬盘和机械硬盘的比较和SQLSERVER在两种硬盘上的性能差异 在看这篇文章之前可以先看一下下面的文章: SSD小白用户收货!SSD的误区如何解决 这样配会损失性能?实测6种特殊装机方式 听说固态 ...
- 两种include方式及filter中的dispatcher解析
两种include方式 我自己写了一个original.jsp,另外有一个includedPage.jsp,我想在original.jsp中把includedPage.jsp引进来有两种方式: 1.& ...
- .net 各种序列化方式效率对比
在服务与服务之间传输的是二进制数据,而在此之前有多种方法将数据内容进行序列化来减小数据传递大小,现针对于目前主流的几种序列化方式做了简单数据统计对比. 先做下简单介绍↓↓↓ 1.protobuf-ne ...
- 软件公司的两种管理方式 总体来说,这个世界上存在两种不同的软件公司的组织结构。我把他们叫做 Widget Factory(小商品工厂) 和 Film Crews(电影工作组
软件公司的两种管理方式 一个简单的回答应该是——“因为在我们的社会里,我们总是会认为薪水和会和职位的层次绑在一起”.但是,这个答案同时也折射出一个事实——我们的薪资是基于我们的所理解的价值,但这并没有 ...
- python笔记-20 django进阶 (model与form、modelform对比,三种ajax方式的对比,随机验证码,kindeditor)
一.model深入 1.model的功能 1.1 创建数据库表 1.2 操作数据库表 1.3 数据库的增删改查操作 2.创建数据库表的单表操作 2.1 定义表对象 class xxx(models.M ...
- 串的两种模式匹配方式(BF/KMP算法)
前言 串,又称作字符串,它是由0个或者多个字符所组成的有限序列,串同样可以采用顺序存储和链式存储两种方式进行存储,在主串中查找定位子串问题(模式匹配)是串中最重要的操作之一,而不同的算法实现有着不同的 ...
- Android中BroadcastReceiver的两种注册方式(静态和动态)详解
今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式. BroadcastReceiver也就是"广播接收者"的意思,顾名思义,它就是用来 ...
随机推荐
- 使用CSV Data Set Config实现参数化登录
在使用Jemeter做压力测试的时候,往往需要参数化用户名,密码以到达到多用户使用不同的用户名密码登录的目的.这个时候我们就可以使用CSV Data Set Config实现参数化登录: 首先通过Te ...
- CSU 1726: 你经历过绝望吗?两次!(bfs+优先队列)
传送门: http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1726 1726: 你经历过绝望吗?两次! Submit Page Summar ...
- CSS 高级选择器
相信各位如我一样的“抠图崽”和前端大佬们,在写网页样式的实话,总是免不了写下各种各样的选择器,再给选择的元素写入样式.最基本的元素选择器.class选择器.ID选择器等就不再过多的说了,相信大家都熟的 ...
- Reading Notes : 180214 计算机的总线结构
读书<计算机组成原理>,百度百科 基本上接触过计算机的人,都多少知道计算机的具体构成,但是真正能讲明白的却说了很多,本节将讲解一下计算机的基本硬件构成和一些基本信息,简单认识,以后再深入了 ...
- Xcode 怎么查看代码总行数
打开终端 输入 cd 空格 你的工程路径这里有一个小技巧,你把要统计的文件夹直接拖住拖到终端里,路径就出来了.然后输入find . -name "*.m" -or -name &q ...
- Centos配置静态IP
ifconfig -a //看IP,HWADDR netstat -rn //看网关 service network restart //重启网卡 输入命令:vi ...
- 05.odoo12开源框架学习
博客为日常工作学习积累总结: 1.odoo12学习 参考博客:https://alanhou.org/centos-odoo-12/ CentOS 7快速安装配置 Odoo 12 添加新用户必做,不然 ...
- OpenCV-Python 人脸眼睛嘴识别
# 识别眼睛.嘴巴.人脸 image = cv2.imread('./yong.jpg') gray = cv2.cvtColor(image,code=cv2.COLOR_BGR2BGRA) # 加 ...
- drawImage画本地资源,在真机无法显示
把图片的路径改成本地的绝对路径
- Spark Streaming job的生成及数据清理总结
关于这次总结还是要从一个bug说起....... 场景描述:项目的基本处理流程为:从文件系统读取每隔一分钟上传的日志并由Spark Streaming进行计算消费,最后将结果写入InfluxDB中,然 ...