2017-06-20 55 views
0

我有一个超过900,000行的表。当我尝试获取使用PHP脚本中的所有行,这个错误,当我尝试获取行少量发生从数据库中获取大量数据

enter image description here

,查询成功运行。我正在使用Laravel 5.4和SQL Server 2014.我该如何解决这个问题?

+0

您是否尝试过应用分页?你如何查询900k行? –

+1

用户分页或。你可以在部分中获取数据像'SELECT * FROM users WHERE 1 LIMIT 0,50';并增加起始限制。这个功能你可以申请ajax,但正如你所说的90,000行这需要大量的时间。但它会起作用,但分页是最好的选择。 – GYaN

+0

您需要使用分页 – GullDe

回答

0

检查您的网络服务器的错误日志,你可以找到有错误的描述。

我想你已达到php的max_execution_time限制。在php.ini中检查该密钥。您可以禁用限用设定

max_execution_time = 0 

但你必须明白,在一个查询中获取如此多的行会用一个巨大的RAM量,这是一个你可能达到第二个局限性。在这种情况下,您可以使用LIMIT,OFFSET设置的多个查询将数据拆分为块,并逐个进行块处理,例如一次提取100000行。

+0

不需要很长时间就会发生错误。所以我不认为增加执行时间会有所帮助。但是,我的max_execution_time已经设置为30分钟。但是你对内存限制是正确的。 –