mysql5.7插入数据_Mysql5.7, 千万数据快速插入解决方案( JDBC方式, 百秒搞定!!!)...

最近在弄一件任务,要求测试一下从文本中读取数据,然后向mysql表中插入。要求用JDBC线程导入。要求效率。

环境说明:

数据量 : 10058624条  (大约一千零6万条数据,本地机器运行)

数据大小 :  1093.56MB  (1.1G)

MYSQL版本  : 5.7  (装在服务器上)

MYSQL引擎: InnoDB

MYSQL未做任何优化,配置如图:

9696466e8408418b2f6286fc35b57bf6.png

一、数据文件读取

因为项目要求读取的是dbf文件,数据量比较大,所以单独写了一个程序,测试一下数据读取用多久。

未做任何保存、配置,只是将数据循环遍历一边。 计算出时间:

数据量      :10058624条  (大约一千零6万条数据 ,截图中没有显示)

读取用时  : 19s

0a686169792ffe882ea7517a90a30bc8.png

二、 代码优化。(mysql配置不动)

方式一:  传统方式

4d221407a48741ec6873e2996fe80121.png

输出时间:

Program running   index :  10000 use : 7 s

Program running   index :  20000 use : 15 s

Program running   index :  30000 use : 21 s

Program running   index :  40000 use : 28 s

Program running   index :  50000 use : 34 s

Program running   index :  60000 use : 41 s

Program running   index :  70000 use : 48 s

Program running   index :  80000 use : 54 s

Program running   index :  90000 use : 61 s

Program running   index :  100000 use : 69 s

Program running   index :  500000 use : 346 s

Program running   index :  1000000 use : 693 s

Program running   index :  1500000 use : 1042 s

Program running   index :  2000000 use : 1402 s

Program running   index :  2500000 use : 1757 s

总结:

运行很慢,平均插入一万条需要耗时7s,

那么一千万条, 预计需要7000s 。 ( 117 min , 即将近两个小时 。。 )

方式二:  将sql中的多个value值,拼在一起,进行插入操作。

实例:

insert into  `

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值