现在txt文件格式如下
1 2018-02-24 08:38:37
2 2018-02-24 08:38:39
3 2018-02-24 08:38:30
大概有30W条数据,就不一一例举了
现在我是使用explode函数通过空格进行分割数据然后逐条插入数据库
但是这样分割,会把后面时间也分割成两块,想请问一下有没有什么解决办法。还有就是必须通过API导入数据,有没有更好的办法,因为我这样逐条插入效率太低了
现在txt文件格式如下
1 2018-02-24 08:38:37
2 2018-02-24 08:38:39
3 2018-02-24 08:38:30
大概有30W条数据,就不一一例举了
现在我是使用explode函数通过空格进行分割数据然后逐条插入数据库
但是这样分割,会把后面时间也分割成两块,想请问一下有没有什么解决办法。还有就是必须通过API导入数据,有没有更好的办法,因为我这样逐条插入效率太低了
直接在PHP中用insert导入数据快不起来,建议把TXT转化为CSV文件,用MySQL的load data infile命令,执行速度会远远快于insert。
如果用$pdo->exec('load data…')还是嫌慢,你可以写一个shell脚本,在PHP里用exec调用,那么这个流程就以异步方式执行了,在调用API的程序看来,这一过程就是瞬间完成的。
2 回答1.3k 阅读✓ 已解决
2 回答824 阅读✓ 已解决
1 回答911 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
2 回答882 阅读
1 回答873 阅读
1 回答803 阅读
1.
explode
第三个参数可以指定切割数量, 达到数量后后续的就不再切割了2.
insert into xx(id) values (1),(2),(3)
就可以一次性插入3条,比执行3条sql性能好很多,但要注意不能拼一条很长的sql,会超过max_allowed_packet