Laravel 4中的DB :: paginate失败

时间:2013-12-11 17:40:29

标签: php mysql laravel-4

我在一个相当大的MariaDB 10.0.6数据库(大约200万条记录)上运行一个典型的查询,我希望只返回前几条记录。我使用的'where'语句将匹配不超过5-10条记录。

此声明失败:

$lucky = $this->post->select("ID")->where('luckynumber', '=', '12345')->paginate(1);

而这一个有效(唯一的区别是 - > paginate vs. first ):

$lucky = $this->post->select("ID")->where('luckynumber', '=', '12345')->first();

日志文件表明我的内存不足(我已经增加到512 MB):

[2013-12-11 16:15:39] log.ERROR:500 - 允许的内存大小为536870912字节耗尽(试图分配532152320字节)@ / lucky / 12345 异常'Symfony \ Component \ Debug \ Exception \ FatalErrorException',消息'允许的内存大小为536870912字节耗尽(试图分配532152320字节)'在/ var / www / lbs / app / storage / views / f775c03b70963c0:109

我使用的是Ubuntu Linux 12.04,nginx,php 5.5.6,

有什么问题?

1 个答案:

答案 0 :(得分:0)

似乎mariaDB会产生一个临时表。所以要注意索引Coloumn'luckynumber'