我正在使用Laravel处理项目,我目前有一个cron来处理数据并生成2个CSV文件:1个是排序的(调用文件A)而另一个不是(文件B)。
每个文件大约10mb,每天触发cron,我们不需要数据库来存储结果。
我目前正在做这样的事情:
因为结果数据太大而无法存储为数组(内存不足),所以我们最终使用临时表来存储它们。
我的问题是:这个场景有没有更好的用法?
由于
答案 0 :(得分:0)
我们通过使用游标解决了将大数据导出为 csv 期间的一些“内存不足”错误。 “内存不足”发生在经典的 Eloquent 方法(Model::where(...)->get())和块函数中。 你可以这样使用游标:
period
您可以在此处找到更多文档:https://laravel.com/docs/8.x/eloquent#cursors