PDO中大数据的内存

时间:2012-07-05 15:26:16

标签: php mysql pdo large-data

PDO看起来有点棘手,但是我有一个大型数据库而且我收到了这个错误,

Fatal error: Allowed memory size of 100663296 bytes exhausted (tried to allocate 256 bytes)

使用时,

fetchAll()

解决问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用以下方式临时分配额外内存:

ini_set('memory_limit', '750M');

实际的问题是PHP本身不是PDO本身...它创建的PHP数组太大了......尝试上面......显然750M很多但是你明白了!

你可能在php.ini中很好。默认情况下,memory_limit是128M ...导致当脚本执行超过这个时你得到的错误。

<强>替代地

(根据我的评论) - 只获取您可以为用户显示的内容,即实现某种形式的分页。

一个很好的组合是使用jQuery Datatables和服务器端数据管道。即它会根据请求从每个页面的DB中获取。

同时

确保您的架构已经过正确设计和规范化,而不仅仅是100个列!