之前有过从日志拉去70w条数据到数据,insert到数据库,结果跑了好几个小时,这里使用mysql另一套方案插入数据
我们采用load data infile方案,官方文档说这个插入数据方案速度要比insert速度快几十倍,有兴许的同学可以尝试下,下面我给出具体的操作:
样本文件,可以假定是通过shell脚本从日志拉取文件输出到txt中,当然,也可以其他方案拿到的数据。
记录好他的位置
我们可以在服务器新建一张test表
如图为空数据
运行
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);
我们就可以看到数据插入进数据库了
我们这里对 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);
解析下
这块前边为本地样本文件位置,后边是远程库的表名
terminated 是以某个符号为字段分隔
这里是以,为单位,则第一行是两个字段数据
enclosed by '"'这个是表示用某个字符包括字段值,就是处理"111","222",这里省略掉也可以,大家可以试下这种玩法。