繁体   English   中英

如何使用PHP处理大量数据?

[英]how to handle large sets of data with PHP?

我的Web应用程序允许用户导入excel文件,并将文件中的数据写入mysql数据库。 问题是,当excel文件有很多条目,甚至1000行时,我收到一条错误消息,说PHP内存不足。 读取文件时会发生这种情况。 我在php.ini文件中为PHP分配了1024MB。

我的问题是,如何在PHP中导入如此大的数据。

我正在使用CodeIgniter。 为了读取Excel文件,我正在使用这个库。


解决了。 我使用CSV而不是xls。 我可以在几秒钟内导入10,000行数据。 谢谢大家的帮助。

正如其他人所说,1000条记录并不多。 确保您一次或一次处理记录,并且在完成该行或重用变量后,每次迭代使用的变量都超出范围。

如果您可以通过将excel文件导出到csv来避免处理excel文件的必要,那会更大,因为那么您就不需要这样的库了(它可能有也可能没有自己的内存问题)。

如果需要,不要害怕增加内存使用量,这可以解决问题,有时购买内存是最便宜的选择。 而且不要让1 GB吓到您,对于这样一个简单的任务来说,这是很多事情,但是如果您有足够的内存,而这正是您需要做的,那么目前它已经足够了。

另外,如果您使用的是旧版本的PHP,请尝试更新到PHP 5.4,它比以前的版本处理内存要好得多。

而不是一次插入一个循环。 一次插入100行。

你总是可以跑

INSERT INTO myTable (clo1, col2, col2) VALUES 
(val1, val2), (val3, val4), (val5, val6) ......

这样,网络事务数将减少,从而减少资源使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM