20k записей поступают из запроса выбора базы данных, затем в цикле foreach его зависание - PullRequest
0 голосов
/ 25 апреля 2018

Я столкнулся с проблемой: мне нужно выбрать запись из базы данных с определенным условием (где status = 0), после этого, если из запроса SELECT поступает около 20 тыс. Строк, я добавил цикл foreach, чтобы применить некоторые условия и условие истинно, я обновляю статус каждой выбранной строки с 0 до 1 и с 1 по 2 и т. д. ...

Моя проблема в том, что когда из базы данных поступает большой объем данных, этот процесс зависает, а служба останавливается.

Пожалуйста, подскажите мне, что еще я могу сделать вместо foreach ... если ... и т. Д. ...

1 Ответ

0 голосов
/ 26 апреля 2018
Use hash insted of foreach

// Common Usage:
$users = [
    ['id' => 1, 'name' => 'mark'],
    ['id' => 2, 'name' => 'jane'],
    ['id' => 3, 'name' => 'sally'],
    ['id' => 4, 'name' => 'jose'],
];
$results = Hash::extract($users, '{n}.id');
// $results equals:
// [1,2,3,4];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...