0

PDO 似乎有点棘手,但我有一个大型数据库并且我收到了这个错误,

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

使用时,

fetchAll()

解决它的最佳方法是什么?

4

1 回答 1

3

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

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

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

默认情况下,您可能会在 php.ini memory_limit 为 128M ...

或者

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

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

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

于 2012-07-05T15:29:49.813 回答