【问题标题】:FetchAll method in Social Engine not working for large number of records社交引擎中的 FetchAll 方法不适用于大量记录
【发布时间】:2014-04-21 09:13:21
【问题描述】:

我有一个内置社交引擎的网站。它使用 zend 框架和 Mysql 作为后端

我正在使用 fetchAll() 方法获取记录。

我能够获取大约 30000 条记录。

但是如果我尝试获取超过 30000 条记录,它会显示一个空白屏幕,这是一些错误。

我确信错误与数据无关,因为我可以使用 phpmyadmin 工具中的查询获取所有这些数据

可能是什么问题。? 是 php 还是 mysql 的内存问题?

有人知道吗?

【问题讨论】:

    标签: php mysql pdo socialengine


    【解决方案1】:

    这是内存问题。
    不要使用fetchAll()获取那么多记录
    改用while($row = $stmt->fetch())循环

    您也可以考虑选择较少的行数

    【讨论】:

    • 感谢您的评论。由于某种原因,我无法在所有页面中更改 fetchAll()。所以下一个选项是更改内存大小。那么我应该更改哪个内存变量
    • 哦,如果你想杀死你的服务器而不是改变几行代码 - 你当然欢迎
    • 实际上,在我的情况下,我没有在直接查询中使用 fetchAll() 。它在核心模型对象上使用
    • 它使用大量内存是一个大问题。走在边缘会消耗所有可用内存,每次调用都会杀死你的服务器,即使你没有达到限制
    • 实际上,在我的情况下,我没有在直接查询中使用 fetchAll() 。它在核心模型对象上使用
    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2016-06-26
    • 1970-01-01
    • 2014-04-11
    • 2021-04-24
    • 2012-08-07
    • 1970-01-01
    相关资源
    最近更新 更多