从查询中获取大量记录时出现500内部错误

时间:2019-05-25 05:50:53

标签: php laravel

我有一个查询,其中包括一些联接条件和子查询。该查询返回大约1M的结果。根据此结果,我需要进行一些计算并实现逻辑以最终输出结果。

我的问题是,当我运行此查询时,它给了我500内部错误。我尝试将php.ini文件的内存增加到2048M。但是我仍然遇到同样的错误。

在SO中,我看到有人讨论了laravel块,但是我不确定如何将其实现到给定的查询。

或者还有其他更好的解决方案来优化我的查询。


    $query = User::query();
            $query->select($cols)
            ->join().....

    $query->whereRaw("customer.cid IN (" . DB::raw($selectedSubQuery->toSql()) . ")")
                ->addBinding($selectedSubQuery->getBindings());

    $records = $query->get()->toArray();

1 个答案:

答案 0 :(得分:2)

我怀疑您的查询返回的行太多。在这种情况下,请设计一种将查询拆分为一系列查询的方法,这些查询作为一个组返回将与原始查询匹配的所有行。