PHP CSV导出超过20000条记录

时间:2013-12-26 12:11:51

标签: php csv

从查询中读取数据库中超过20000条记录的内存分配造成致命错误,并且还需要花费太多时间来加载

所以请帮助我们提供出口20000多条记录的好建议。

2 个答案:

答案 0 :(得分:1)

如果您将这么多记录导出为Excel,那么问题将比内存限制更糟糕。

如果您通过PHP脚本将数据导出为CSV,则可以使用以下

参数或者set_time_limit(6000); ini_set(“memory_limit”, - 1);

第一个将设置脚本限制,第二个将删除内存问题。

但是,使用庞大的数据集一次避免导出或导入总是好的,但我同意我们别无选择,只能按照要求进行操作。

答案 1 :(得分:0)

只需分配更多内存和时间。默认通常是低anayway。这些参数在php.ini中设置,或在运行时使用php设置。下面首先在php中设置。

ini_set('memory_limit','300M'); // mem
ini_set('max_execution_time', 3000); // time

然而,导出较小的数据块可能更为明智。这是一种更“正确”的方法。但我意识到,对于诸如一次性操作/导出等事情,可能需要大量转储和更多内存。