php导出一百万条数据到excel cpu 满了 服务器卡死

2021-02-18 16:21发布

yii2 框架 导出数据到csv 分页查询每次查100条
查询完数据处理之后及时删除变量
也是用 gc_collect_cycles();
也安装网上说的
\Yii::getLogger()->flushInterval = 1;
\Yii::getLogger()->flush(true);
也注释掉了模型的行为
但是内存的使用量还是在不断升高 最后溢出

怎么样才能解决内存溢出的问题

标签:
8条回答
等我变得足够好
2楼-- · 2021-02-18 16:56

目前的解决办法是
减少joinwith 使用leftjoin代替 (查看使用joinwith 时的sql 会发现 有多余的查询)
使用数组 而不是对象 数组要比对象小很多
分页查询 分页写入

查看更多
疯言疯语
5楼-- · 2021-02-18 17:00

不说导入了,就算正常用软件打开这个50W条数据的excel都会卡死。。。这么多数据不知道为啥要放到excel。。。

查看更多
何必那么认真
6楼-- · 2021-02-18 17:02

一百万数据放一个Excel里?

查看更多
Ridiculous、
7楼-- · 2021-02-18 17:08

最好贴出代码

查看更多
登录 后发表回答