php将excel数据导入到mysql优化

时间:2021-12-24 06:09:06
我的需求是这样的
1、从客户端上传
2、每张excel的数据量一般为3万条以上
我的问题是:一次性导入这么多数据到mysql中?


8 个解决方案

#1


一次性导入可能不行,分批导入。

#2



超过限制大小就不能导入了

可以考虑转换成sql脚本导入

#3


每张有3万多,应该一次转不完吧,记忆中好像记录多导致转换失败的帖子看过几回,不过自己没测试过.

#4


引用 2 楼  的回复:
超过限制大小就不能导入了

可以考虑转换成sql脚本导入

你的意思是客户端上传excel,php自动将excel转成sql文件,然后再执行sql文件么?

php的excel转sql不会转额

#5


这个,这个  我真不会,没听说过,还能这样,坐等求解~~ php将excel数据导入到mysql优化

#6


这个要看表的结构以及真是数据什么样了,要是有好几个打字段,那么你练成sql语句的话非常大,这样需要调整sql配置文件中语句长度和php所使用的内存限制,如果现实中的字段都是比较小的,那么一般情况是没什么问题的,以上所说是针对将所有数据连成一个sql的情况,如果单一sql执行的话那么就比较灵活了,不过那样效率低一些

#7


这个问题就很明显了, 把EXECL文件存到磁盘里, 然后使用MQ将任务异步交给消费者进程, 让消费者进程线下慢慢的读EXECL,慢慢的插入到数据库里,等完成了数据库里标记一下就完事了。

直接让PHP跑这个是不可能的,你问个会编程的人都不会告诉你这么幼稚的答案。

#8


个人觉得可以转换成Csv,然后一次读取一定的行数,循环读取

#1


一次性导入可能不行,分批导入。

#2



超过限制大小就不能导入了

可以考虑转换成sql脚本导入

#3


每张有3万多,应该一次转不完吧,记忆中好像记录多导致转换失败的帖子看过几回,不过自己没测试过.

#4


引用 2 楼  的回复:
超过限制大小就不能导入了

可以考虑转换成sql脚本导入

你的意思是客户端上传excel,php自动将excel转成sql文件,然后再执行sql文件么?

php的excel转sql不会转额

#5


这个,这个  我真不会,没听说过,还能这样,坐等求解~~ php将excel数据导入到mysql优化

#6


这个要看表的结构以及真是数据什么样了,要是有好几个打字段,那么你练成sql语句的话非常大,这样需要调整sql配置文件中语句长度和php所使用的内存限制,如果现实中的字段都是比较小的,那么一般情况是没什么问题的,以上所说是针对将所有数据连成一个sql的情况,如果单一sql执行的话那么就比较灵活了,不过那样效率低一些

#7


这个问题就很明显了, 把EXECL文件存到磁盘里, 然后使用MQ将任务异步交给消费者进程, 让消费者进程线下慢慢的读EXECL,慢慢的插入到数据库里,等完成了数据库里标记一下就完事了。

直接让PHP跑这个是不可能的,你问个会编程的人都不会告诉你这么幼稚的答案。

#8


个人觉得可以转换成Csv,然后一次读取一定的行数,循环读取