Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 Множество update в большом цикле  [new]
СЭ
Member

Откуда: Украина, г.Донецк
Сообщений: 436
Добрый день...

есть такой вопрос..

Обновляю прайс с файла эксель

там около 5000 наименований продукции

бегу циклом по листу на php, забираю артикул товара и цену

далее делаю update в таблице после обхода каждого товара

вообщем скрипт ложит сервер в середине цикла

такой вопрос: правильно ли это? может как то собирать запрос пачками и делать один на 50-100 товаров ?
18 сен 17, 09:15    [20802445]     Ответить | Цитировать Сообщить модератору
 Re: Множество update в большом цикле  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 16308
Я бы просто залил сперва эти данные во временную таблицу (если возможно - то не из эксельного файла, а сохранить в CSV и LOAD DATA INFILE, если нет - то можно и обычными инсертами по одной записи), а потом одним запросом обновил данные в боевой таблице.
18 сен 17, 09:56    [20802558]     Ответить | Цитировать Сообщить модератору
 Re: Множество update в большом цикле  [new]
СЭ
Member

Откуда: Украина, г.Донецк
Сообщений: 436
Дело в том что вся эта кухня поставлена на полный автомат... т.е. скрипт забирает прайс с сайта поставщика, кладет его в папку со скриптом и начинает разбор полетов

и в экселе сложное форматирование, другими словами с экселем делать ничего нельзя...
18 сен 17, 09:59    [20802566]     Ответить | Цитировать Сообщить модератору
 Re: Множество update в большом цикле  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 43941
СЭ
вообщем скрипт ложит сервер в середине цикла

Значит что-то в этом скрипте неправильно. Не могут всего-то 5к последовательных update "ложить сервер".
18 сен 17, 13:34    [20803312]     Ответить | Цитировать Сообщить модератору
 Re: Множество update в большом цикле  [new]
СЭ
Member

Откуда: Украина, г.Донецк
Сообщений: 436
а если в этой таблице 20К товаров.. т.е. большая таблица

то все равно не должно повлиять 5К последовательных update????????
18 сен 17, 15:10    [20803687]     Ответить | Цитировать Сообщить модератору
 Re: Множество update в большом цикле  [new]
982183
Member

Откуда:
Сообщений: 1358
ну так закачай сразу весь эксель во временную табличку
А потом SQL позволяет всё сделать это просто и быстро.
18 сен 17, 15:23    [20803758]     Ответить | Цитировать Сообщить модератору
 Re: Множество update в большом цикле  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 16308
СЭ
а если в этой таблице 20К товаров.. т.е. большая таблица

20k записей - это очень МАЛЕНЬКАЯ таблица. Большая - это как минимум на три порядка больше.
18 сен 17, 16:49    [20804107]     Ответить | Цитировать Сообщить модератору
 Re: Множество update в большом цикле  [new]
Hett
Member

Откуда: Бийск, Новосибирск
Сообщений: 12680
Akina
СЭ
а если в этой таблице 20К товаров.. т.е. большая таблица

20k записей - это очень МАЛЕНЬКАЯ таблица. Большая - это как минимум на три порядка больше.


Именно. Если скорость работы устраивает, то пусть работает.
Можно немного ускорить за счет prepared statement.
19 сен 17, 09:06    [20804941]     Ответить | Цитировать Сообщить модератору
 Re: Множество update в большом цикле  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 43941
СЭ
а если в этой таблице 20К товаров.. т.е. большая таблица

то все равно не должно повлиять 5К последовательных update????????

Во-первых, табличка маленькая, как уже сказали. Во-вторых, Вы же не делаете такую глупость, как update всех 20к строк 5к раз подряд? Или делаете?..
19 сен 17, 13:59    [20806052]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить