使用。网络核心怎么将大量数据导入至Mysql数据库

  介绍

这期内容当中小编将会给大家带来有关使用。网络核心怎么将大量数据导入至Mysql数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

订单测试表

CREATE  TABLE “贸易”,(   “id”,才能VARCHAR (50), NULL  DEFAULT  NULL  COLLATE  & # 39; utf8_unicode_ci& # 39;   “trade_no”,才能VARCHAR (50), NULL  DEFAULT  NULL  COLLATE  & # 39; utf8_unicode_ci& # 39;   UNIQUE 才能;INDEX “id”, (“id”),   INDEX 才能“trade_no”, (“trade_no”)   )   评论=& # 39;订单& # 39;   整理=& # 39;utf8_unicode_ci& # 39;   引擎=InnoDB;

测试环境

操作系统:窗口10专业版

CPU:国际米兰(R) (TM)核心i7 - 8650 u @1.90GHZ 2.11 GHZ CPU

内存:16 g

MySQL版本:5.7.26

实现方法:

1,单条数据插入

这是最普通的方式,通过循环一条一条的导入数据,这个方式的缺点很明显就是每一次都需要连接一次数据库。

实现代码:

//开始时间   var  startTime =, DateTime.Now;   时间=using  (var  conn  new  MySqlConnection (connsql))   {   ,,,conn.Open ();      ,,,//插入10万数据   ,,,for  (var 小姐:=,0;,小姐:& lt;, 100000;,我+ +)   ,,,{   ,,,,,,,//插入   ,,,,,,,var  sql =, string.Format (“insert  into 贸易(id、trade_no),值(& # 39;{0}& # 39;,& # 39;{1}& # 39;);“,   ,,,,,,,,,,,Guid.NewGuid () .ToString (),“trade_", +,(小姐:+,- 1)   ,,,,,,,,,,,);   ,,,,,,,var  sqlComm =, new  MySqlCommand ();   ,,,,,,,sqlComm.Connection =,康涅狄格州;   ,,,,,,,sqlComm.CommandText =, sql;   ,,,,,,,sqlComm.ExecuteNonQuery ();   ,,,,,,,sqlComm.Dispose ();   ,,,}      ,,,conn.Close ();   }//完成时间   var  endTime =, DateTime.Now;//耗时   var  spanTime =, endTime 作用;开始时间;   Console.WriteLine(“循环插入方式耗时:“,+,spanTime.Minutes  +,“分”,+,spanTime.Seconds  +,“秒”,+,spanTime.Milliseconds  +,“毫秒“);

10万条测试耗时:

使用。网络核心怎么将大量数据导入至Mysql数据库

上面的例子,我们是批量导入万10条数据,需要连接10万次数据库。我们把SQL语句改为1000条拼接为1条,这样就能减少数据库连接,实现代码修改如下:

//开始时间   var  startTime =, DateTime.Now;   时间=using  (var  conn  new  MySqlConnection (connsql))   {   ,,,conn.Open ();      ,,,//插入10万数据   ,,,var  sql =, new  StringBuilder ();   ,,,for  (var 小姐:=,0;,小姐:& lt;, 100000;,我+ +)   ,,,{   ,,,,,,,//插入   ,,,,,,,sql.AppendFormat (“insert  into 贸易(id、trade_no),值(& # 39;{0}& # 39;,& # 39;{1}& # 39;);“,   ,,,,,,,,,,,Guid.NewGuid () .ToString (),“trade_", +,(小姐:+,- 1)   ,,,,,,,,,,,);      ,,,,,,,//合并插入   ,,,,,,,if (小姐:%,1000,==,999)   ,,,,,,,{   ,,,,,,,,,,,var  sqlComm =, new  MySqlCommand ();   ,,,,,,,,,,,sqlComm.Connection =,康涅狄格州;   ,,,,,,,,,,,sqlComm.CommandText =, sql.ToString ();   ,,,,,,,,,,,sqlComm.ExecuteNonQuery ();   ,,,,,,,,,,,sqlComm.Dispose ();   ,,,,,,,,,,,sql.Clear ();   ,,,,,,,}   ,,,}      ,,,conn.Close ();   }//完成时间   var  endTime =, DateTime.Now;//耗时   var  spanTime =, endTime 作用;开始时间;   Console.WriteLine(“循环插入方式耗时:“,+,spanTime.Minutes  +,“分”,+,spanTime.Seconds  +,“秒”,+,spanTime.Milliseconds  +,“毫秒“);

10万条测试耗时:

使用。null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null<h2 class=使用。网络核心怎么将大量数据导入至Mysql数据库