【发布时间】:2016-08-28 05:16:18
【问题描述】:
我正在从 mysql 表中检索记录,每个查询返回超过 0.2m 的行数,这显然会占用大量内存。就我而言,我的系统上安装了 8 GB 的 RAM,SSD 256 GB。 当我执行我的页面时,它返回以下错误:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 42 bytes) in D:\xampp\htdocs\classes\CRUD.php on line 84
我认为我应该需要在表格行上使用线程而不是 php 循环? 也许我错了。任何建议/帮助将不胜感激。
【问题讨论】:
-
这个应该在Server Fault问。
-
您应该对结果进行分页以一次处理更少的结果,显然您的每个线程的内存限制在 php 配置中设置为 132Mb。你可以增加它
-
写下你的代码,我们可以帮你。可能是该循环中的某些内容导致内存耗尽。
-
@peuh 你是对的,但是在我的代码中我不允许使用分页,否则这真的是一个非常好的建议。
-
为什么要在 php 脚本中选择这么多行?通过仅选择使用的字段或使用“分页”来优化查询。