利用bulk添加百万条数据,进行测试
(1)连接数据库
public static void BulkToDB(DataTable dt)
{
//数据库连接
SqlConnection sqlCon = new SqlConnection("data source=.;initial catalog=Blog;user id=sa;password=123456;multipleactiveresultsets=True;application name=EntityFramework");
SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlCon);
//数据表的名称
bulkCopy.DestinationTableName = "actionlogs";
bulkCopy.BatchSize = dt.Rows.Count;
try
{
sqlCon.Open();
if (dt != null && dt.Rows.Count != )
{
bulkCopy.WriteToServer(dt);
}
}
catch (Exception ex)
{ throw ex;
}
finally
{
sqlCon.Close();
if (bulkCopy != null)
{
bulkCopy.Close();
}
}
}
(2)获取要添加数据的表的参数
public static DataTable GetTableSchema()
{
DataTable dt = new DataTable();
//以下为要添加数据的表的参数设置
dt.Columns.AddRange(new DataColumn[]
{
new DataColumn("Guid",typeof(string)),
new DataColumn("LoginName",typeof(string)),
new DataColumn("Name",typeof(string)),
});
return dt;
}
(3)在Main方法中进行调用,执行
static void Main(string[] args)
{
Stopwatch sw = new Stopwatch();
for(int multiply = ; multiply < ; multiply++)
{
//获取表的参数
DataTable dt = Program.GetTableSchema();
for(int count = multiply * ; count < (multiply + ) * ; count++)
{
DataRow dr = dt.NewRow();
dr[] = Guid.NewGuid().ToString();
dr[] = "";
dr[] = "郑**";
dt.Rows.Add(dr);
}
sw.Start();
Program.BulkToDB(dt);
sw.Stop();
Console.WriteLine(string.Format("Elapsed Time is {0} Milliseconds", sw.ElapsedMilliseconds));
}
Console.ReadLine();
}
平时积累,用于复习,如有问题,请留言,谢谢
利用bulk添加百万条数据,进行测试的更多相关文章
- 如何在mysql数据库生成百万条数据来测试页面加载速度
1.首先复制一条sql 在复制前,需要确定该记录是否有主键 若无,则代码非常简单, "; 复制的表名↑ 粘贴的表名↑ ...
- MySQL 快速添加百万条数据
需要向数据库添加100W条测试数据,直接在普通表中添加速度太慢,可以使用内存表添加,然后将内存表数据复制到普通表 创建表 # 内存表 DROP TABLE IF EXISTS `test_memory ...
- 向数据库添加100W 条数据 性能测试
向数据库添加100W 条数据 性能测试 : 参考的相关网站目录: JDBC实现往MySQL插入百万级数据 https://www.cnblogs.com/fnz0/p/5713102.html MyS ...
- 提高MYSQL百万条数据的查询速度
提高MYSQL百万条数据的查询速度 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 nul ...
- 新建一个DataTable如何手动给其添加多条数据!
早晨起来,想起昨天利用winform做类似于sqlserver数据库导入数据功能的时候,用到了新建一个DataTable手动给其添加多条数据,平时用不到,需要的时候想不起来了,这次不妨把他记下来.以下 ...
- mybatis+oracle添加一条数据并返回所添加数据的主键问题
最近做mybatis+oracle项目的时候解决添加一条数据并返回所添加数据的主键问题 controller层 @RequestMapping("/addplan") public ...
- 问问题_Java一次导出百万条数据生成excel(web操作)
需求:在web页面操作,一次导出百万条数据并生成excel 分析: 1.异步生成Excel,非实时,完成后使用某种方式通知用户 2.生成多个excel文件,并打包成zip文件,因为一个excel容纳不 ...
- JS每点击一次添加多少条数据
很久不写文档,平时只写日记,所以对这个有点生疏,如果写的不好别介意. 今天闲的蛋疼,于是要写写白天的东西,并且以后也会一直更新(一直写)下去. 时间太仓促了,这几个月,今天算最晚的一次凌晨1点,吃不消 ...
- mvc添加多条数据到数据库
from : http://www.th7.cn/Program/net/201502/387849.shtml mvc的视图太强大了,个人刚刚接触.(初级菜鸟,懂的不多,往大神们指点)需求是,客户点 ...
随机推荐
- memcache简单操作
<?php $m = new Memcache(); $m->connect('localhost',11211); //获取版本 echo "server's version: ...
- PHP下ajax跨域的解决方案之CORS
由于安全的限制(同源策略,javascript只能访问同域名下的内容),如果需要进行跨域操作,那就免不了要进行跨域. CORS(跨域资源共享,Cross-Origin Resource Shari ...
- MySql中循环的使用
一.while循环 语法:WHILE [条件] DO [逻辑] END WHILE; delimiter $$ DROP FUNCTION IF EXISTS `fn_findCharCount` $ ...
- sock基础编程介绍
一个简单的python socket编程 一.套接字 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并 ...
- Django模型之Meta详解
Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.而可用的选项大致包含以下几类 abstract 这个属性是定义当前的模型是不是一个抽象类.所谓抽象类是不会对应数据 ...
- 关于前一篇innodb自增列自己的一点补充
上篇文章是我转载的,忘记注明了出处,在这里深感歉意.但是上篇文章中关于自增列预留ID的计算我当时怎么弄明白,后来自己想了想终于想通了,在这里详细解释一下. 我们以一次性插入10行为例,表格如下: 插 ...
- 淘宝星星的思路c#
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta ...
- MySQL相关知识总结
1. 显示所有表 show tables; 还有information_schema数据库里面有tables表,记录了所有表信息 use information_schema; select * fr ...
- 配置tomcat server.xml 文件 ,虚拟路径
<Context path="/web" docBase="D:\workspace\web\src\main\webapp" reloadable=& ...
- socket domain 样例
服务端 #include<stdio.h> #include <sys/stat.h> #include <sys/socket.h> #include <s ...