批量插入数据方案

之前有过从日志拉去70w条数据到数据,insert到数据库,结果跑了好几个小时,这里使用mysql另一套方案插入数据

 我们采用load data infile方案,官方文档说这个插入数据方案速度要比insert速度快几十倍,有兴许的同学可以尝试下,下面我给出具体的操作:
 样本文件,可以假定是通过shell脚本从日志拉取文件输出到txt中,当然,也可以其他方案拿到的数据。
image.png
记录好他的位置
image.png

我们可以在服务器新建一张test表
image.png

如图为空数据
运行

load data local infile "C:\\Users\\Administrator\\Desktop\\aa.txt" ignore into table liuqs.test fields terminated by ','  enclosed by '"'  lines terminated by '\r\n' (id,num);

image.png

我们就可以看到数据插入进数据库了
image.png

我们这里对 load data local infile “C:\Users\Administrator\Desktop\aa.txt” ignore into table liuqs.test fields terminated by ‘,’ enclosed by ‘“‘ lines terminated by ‘\r\n’ (id,num);
解析下
image.png

这块前边为本地样本文件位置,后边是远程库的表名

terminated 是以某个符号为字段分隔
image.png

这里是以,为单位,则第一行是两个字段数据
enclosed by ‘“‘这个是表示用某个字符包括字段值,就是处理”111”,”222”,这里省略掉也可以,大家可以试下这种玩法。