如何使用Eloquent处理大型数据集?

时间:2017-12-14 12:20:45

标签: database laravel eloquent laravel-query-builder

在我的表中有超过5.600.000条记录。当我尝试使用String iope = parts[j]; String[] token = iope.split("D"); double baseVal = Double.valueOf(token[0]); double af0 = (token.length == 2) ? Math.pow(baseVal, Double.valueOf(token[1])) : baseVal; 获取记录时,经过很长时间的处理服务器响应PAGINATE(15)服务器遇到内部错误或配置错误,无法完成您的请求。

请联系服务器管理员contact@example.com,告知他们错误发生的时间,以及可能导致错误的任何操作。

服务器错误日志中可能提供了有关此错误的更多信息。

此外,尝试使用ErrorDocument处理请求时遇到500内部服务器错误错误。“。请帮忙,先谢谢。

2 个答案:

答案 0 :(得分:0)

这可能是由php.ini配置造成的。

您可以查看错误日志以获取更多信息(php错误日志或laravel / storage / logs)。

可以是memory_limitmax_execution_time或php.ini

中的其他设置

答案 1 :(得分:0)

paginate()的问题。 paginate()检索表中的所有行并计算总行数以确定所需页面的总数。由于表格中有5600,000行,因此检索最终可能会达到max_execution_timememory_limit的结果需要很长时间。

我建议最好的方法是使用simplePaginate()