MySQL中导入大批量数据:奇妙的load data infile

本文介绍了一种通过LOAD DATA INFILE命令将百万级数据快速导入MySQL数据库的方法,相较于Workbench工具,该方法效率显著提高,从数小时缩短至几秒。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

拿到了一些数据,有5个表,其中4个表的数据量在几百到几万之间,利用MySQL 的workbench基本都在可以容忍的时间内完成了,但是最后一个表,大概有100W的记录,用workbench的导入工具,经常死机。乘机评估了一下workbench记录插入的效果,大概在4000条/Minute的速度。这样算下来,100W条,理论需要250分钟,四个多小时。没有办法,只能采用Load data infile命令解决。

1. 使用load data infile需要创建表,为了方便数据录入,建议表的属性都是VARCHAR类型;

2. 使用管理员身份进入DOS界面,使用命令mysql -u root -p --local-infile命令先登入MySQL;

3. 选择需要操作的数据库: mysql> use XXX;

确认导入的表是否在选择的库中:mysql> show tables;

4. 确认local_infile是否开启,

  没有开启,使用命令set global local_infile =1;

 5. 写load data infile文件之前,确认一下导入源数据文件的格式,我的坑是CSV文件用Tab隔离数据项,我没有认真看,所以导入数据报错了。

我的数据中,数据用Tab分割,每行记录用换行,因此写如下语句;

mysql>load data local infile 'd:/order.csv' into table new_table fields terminated by '\t' Lines terminated by '\r\n' ignore 1 lines;

令人惊奇的事情发生了,几秒钟(7.84 sec)后,我突然发现100W的数据已经导入到数据库中。

250分-->几秒钟,没有报任何错误。

 就是这么清奇的世界!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值