您当前的位置: 首页 >  .net

编程乐趣

暂无认证

  • 1浏览

    0关注

    117博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

.Net Core导入千万级数据至Mysql

编程乐趣 发布时间:2021-05-19 18:01:10 ,浏览量:1

目录

1、前期准备

1.1、订单测试表

1.2、测试环境

2、实现方法

2.1、单条数据插入方式

2.1.1、实现代码

2.1.2、十万条数据测试性能

2.1.3、合并数据库链接优化

2.1.4、优化后,十万条数据测试性能

2.2、合并数据插入方式

2.2.1、实现代码

2.2.2、十万条数据测试性能

2.3、MySqlBulkLoader插入方式

2.3.1、实现代码:

2.3.2、十万条数据测试性能

3、性能测试对比

4、总结

MySQL进阶教程汇总(专栏文章汇总,欢迎订阅,持续更新…)MySQL进阶教程专栏专栏的文章都在这里啦。文章会持续更新,大家有想要了解的功能点或者话题,可以在评论区告诉我!喜欢本专栏的文章,可以支持一下,你的肯定是对我最大的支持!也可以。https://blog.csdn.net/daremeself/article/details/128124975MySql数据迁移、导入,在我们日常开发中,可以说是经常碰到。如果数据量比较小,一般都没什么问题,但是如果是涉及到千万级、亿级的数据量大数据量迁移,这里面就涉及到一个问题:如何快速导入千万数据到MySQL。

下面我们通过对比3种方法,来谈谈MySQL怎么高性能插入千万级的数据。

文中讲解的方法,都是MySQL本身支持的,只是涉及的代码,采用C#作为例子。

1、前期准备 1.1、订单测试表

创建一个表,表只有id、trade_no两个字段。

CREATE TABLE `trade` (
  `id` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
  `trade_no` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
  UNIQUE INDEX `id` (`id`),
  INDEX `trade_no` (`trade_no`)
)
COMMENT='订单'
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB;
1.2、测试环境

文中测试环境电脑配置如下:

操作系统:Window 10 专业版

CPU:Inter(R) Core(TM) i7-8650U CPU @1.90GHZ 2.11 GHZ

内存:16G

MySQL版本:5.7.26

2、实现方法 2.1、单条数据插入方式

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

2.1.1、实现代码
//开始时间
var startTime = DateTime.Now;
using (var conn = new MySqlConnection(connsql))
{
    conn.Open();
​
    //插入10万数据
    for (var i = 0; i             
关注
打赏
1665230491
查看更多评论
0.3267s