500 Внутренняя ошибка при получении большого количества записей из запроса - PullRequest
0 голосов
/ 25 мая 2019

У меня есть запрос, который включает в себя, где некоторые условия соединения и подзапросы.Этот запрос возвращает мне результат около 1 млн.Из этого результата мне нужно сделать некоторые вычисления и реализовать логику для окончательного вывода результата.

Моя проблема в том, что когда я запускаю этот запрос, он выдает мне 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 Ответ

2 голосов
/ 25 мая 2019

Я подозреваю, что ваш запрос возвращает слишком много строк. В таком случае разработайте способ разбить запрос на серию запросов, которые в качестве группы возвращают все строки, которые соответствовали бы исходному запросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...