PDO 似乎有点棘手,但我有一个大型数据库并且我收到了这个错误,
Fatal error: Allowed memory size of 100663296 bytes exhausted (tried to allocate 256 bytes)
使用时,
fetchAll()
解决它的最佳方法是什么?
PDO 似乎有点棘手,但我有一个大型数据库并且我收到了这个错误,
Fatal error: Allowed memory size of 100663296 bytes exhausted (tried to allocate 256 bytes)
使用时,
fetchAll()
解决它的最佳方法是什么?
您可以使用以下方法临时分配额外的内存:
ini_set('memory_limit', '750M');
实际的问题是 PHP 本身不是 PDO 本身...它创建的 PHP 数组太大...试试上面...显然 750M 很多但是你明白了!
默认情况下,您可能会在 php.ini memory_limit 为 128M ...
或者:
(根据我的评论) - 只获取您可以为用户显示的内容,即实现某种形式的分页。
一个很好的组合是使用 jQuery 数据表和服务器端数据管道。即它将根据请求从数据库中获取每个页面。
还:
确保您的架构已正确设计和规范化,而不仅仅是有 100 列!