使用PHP/MySQL导出大型CSV数据的最佳方法是什么?
发布时间:2020-12-11 23:53:50 所属栏目:MySql教程 来源:网络整理
导读:我正在开发一个项目,我需要从包含近10k行的数据库中提取数据,然后将其导出为CSV.我尝试了下载CSV的常规方法,但即使我们已经将memory_limit设置为256MB,我也总是遇到内存限制问题. 如果您有任何人遇到同样的问题,请分享您对什么是最佳解决方案或方法的看法.
我正在开发一个项目,我需要从包含近10k行的数据库中提取数据,然后将其导出为CSV.我尝试了下载CSV的常规方法,但即使我们已经将memory_limit设置为256MB,我也总是遇到内存限制问题. 如果您有任何人遇到同样的问题,请分享您对什么是最佳解决方案或方法的看法. 真的很感激你的想法. 这是我的实际代码:
最佳答案
如果你真的必须用PHP进行处理,你需要使用MYSQL的limit命令来获取你的数据子集.每次只抓取一定数量的行,将它们写入文件然后获取下一组.
您可能需要在查询循环中的一些变量上运行unset().关键是不要在内存中同时存在太多巨大的arrarys. 如果您正在抓取整个合并表,请按插入日期升序对其进行排序,以便第二次抓取将获得任何较新的项目. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |