Задать вопрос
on_click
@on_click

Как вылечить зависание при импорте в бд?

Всех с наступающим!

Есть массив с заказами на 7к элементов. Предварительно разбив, пытаюсь сложить в базу
foreach (array_chunk($orders, 500) as $o)
{
    \DB::table('orders')->insert($o);
}

Первые 500 строк записываются моментально но после, по какой-то причине зависает.
Если выставляю лимит в 3000 он первые так же быстро записывает, но ко второй итерации не приступает.
В обоих случаях после ожидания ловлю Maximum execution time...

Убрать лимит совсем не могу, будет ошибка Prepared statement contains too many placeholders

Laravel 8, mariaDb-10.4, php_7.4

Подскажите пожалуйста, в какую сторону смотреть, из за чего такое может происходить?
  • Вопрос задан
  • 224 просмотра
Подписаться 2 Простой 9 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Запускать операцию через командную строку (cli), а не через браузер.
https://laravel.com/docs/8.x/artisan#writing-commands
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы