//一次批量插入100W条数据到数据库
static void Main(string[] args)
{
System.Random a = new Random(System.DateTime.Now.Millisecond);
Stopwatch sw = new Stopwatch();
DataTable dt = GetTableSchema();
for (int count = 0; count < 1000000; count++)
{
DataRow r = dt.NewRow();
r[0] = Guid.NewGuid().ToString();
r[1] = 100;
r[2] = "ABCD";
r[3] = a.Next().ToString();
r[4] = count;
r[5] = DateTime.Now;
r[6] = false;
dt.Rows.Add(r);
}
sw.Start();
BulkToDB(dt);
sw.Stop();
Console.WriteLine(string.Format("Elapsed Time is {0} Milliseconds", sw.ElapsedMilliseconds));
Console.ReadLine();
} public static DataTable GetTableSchema()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[]{
new DataColumn("UserCode",typeof(string)),
new DataColumn("key1",typeof(int)),
new DataColumn("key2",typeof(string)),
new DataColumn("UserName",typeof(string)),
new DataColumn("Age",typeof(int)),
new DataColumn("CreateTime",typeof(DateTime)),
new DataColumn("IsDeleted",typeof(bool))
});
return dt;
} public static void BulkToDB(DataTable dt)
{
SqlConnection sqlConn = new SqlConnection("Server=localhost;database=TestDB;User ID=sa;Password=123456;");
SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConn);
bulkCopy.DestinationTableName = "Users";
bulkCopy.BatchSize = dt.Rows.Count;
try
{
sqlConn.Open();
if (dt != null && dt.Rows.Count != 0)
bulkCopy.WriteToServer(dt);
}
catch (Exception ex)
{
throw ex;
}
finally
{
sqlConn.Close();
if (bulkCopy != null)
bulkCopy.Close();
}
}

最新文章

  1. wamp2.5 配置多端口虚拟主机
  2. php知识案列
  3. python开发_++i,i += 1的区分
  4. 【转】使用Apache Kylin搭建企业级开源大数据分析平台
  5. vs2013-tfs-疑问之版本控制器路径有双引号解决办法
  6. 【iOS】Foundation框架 学习笔记
  7. Growing转化的每一步(笔记整理)
  8. Python Tool Visual Studio简单使用
  9. Codeforces Round #240 (Div. 2)-&gt;A. Mashmokh and Lights
  10. PHP输出图片文件,实现浏览器缓存机制
  11. .net三步配置错误页面,让你的站点远离不和谐的页面
  12. jsp发布后应用根目录
  13. VMware Workstation 12 Pro 之安装林耐斯-LinuxMint-系统
  14. 爬取朋友圈,Get年度关键词
  15. Android开源项目——带图标文字的底部导航栏IconTabPageIndicator
  16. bzoj4671: 异或图——斯特林反演
  17. kaldi的TIMIT实例一
  18. Vim 多行剪切、复制和删除
  19. [k8s]nginx-ingress配置4/7层测试
  20. 20135234mqy-——信息安全系统设计基础第十周学习总结

热门文章

  1. Spring不能直接@autowired注入Static变量
  2. 【Beta】Scrum meeting 10
  3. Anaconda更新失败简单解决[CondaHTTPError: HTTP 000 CONNECTION FAILED for url]
  4. ubuntu16.04 overlay 不支持redirect_dir开关
  5. Java的面向对象的原则
  6. python万能消费框架,新增7种中间件(或操作mq的包)和三种并发模式。
  7. 【HBase】HBase 单机版安装及使用
  8. 退出Vim编辑器
  9. 在OpenShift 3.11环境开启多网络平面
  10. 安装 python 爬虫框架 Scrapy