Альтернатива циклу на PHP

168
29 июля 2017, 06:43

Здравствуйте!

Вопрос в следующем: В системе постоянно требуется обновление базы данных до самой актуальной версии. Программа работает с АПИ. Вытягивается массив данных с сайта партнерки, это примерно 3000 записей. В цикле по каждому товару собирается информация для записи в базу данных(Собирается строка для записи в базу данных). То есть это 3000 итераций. Все это выполняется больше минуты, хотя сам запрос работает меньше секунды.

Значит проблема с циклом.

Не знаю как разрешить эту проблему, на ум приходит только рекурсия, но насколько я знаю в таких задачах рекурсия не даст никакого выиграша. Если кто сталкивался с такой проблемой, подскажите пожалуйста!)

Answer 1

можно попробовать уменьшить сложность итерации, отрефакторить код, вынести повторяющиеся действия; можно попробовать распараллелить таким образом, чтобы программа обрабатывала 3000 записей не в одном потоке, а по 500 в нескольких (в этом варианте нужно быть внимательным с критической секцией).

READ ALSO
Добавление товаров в корзину PHP

Добавление товаров в корзину PHP

Как реализовать функцию добавления товаров в корзину в куки на PHP? Расскажите пожалуйста алгоритм действий

382
Как сделать обновление в базе данных циклом foreach

Как сделать обновление в базе данных циклом foreach

Пожалуйста дайте подскажку как обновить базу при помощи форычаВчера получилось, а щас нифига не получается, записывается во все строки только...

209
Скачивание файла с чужого сервера на свой

Скачивание файла с чужого сервера на свой

Ссылка имеет формат: https://appcomagic

223
Действие (sql update) по кнопке в GridView

Действие (sql update) по кнопке в GridView

Необходимо по нажатию на галочку напротив строки присваивать ей статус ready (поле в бд) и скрывать по тому же фильтру (ready)Есть sql команда, есть...

158