powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / множественный UPDATE при импорте
4 сообщений из 4, страница 1 из 1
множественный UPDATE при импорте
    #39210945
weblloyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно обновлять несколько тысячей записей из файла Exel

UPDATE table SET price = $price WHERE id = $id

$price - цена из файла
$id - уникальный ID товара

Чем грозит прогнать в цикле тысячи UPDATE один за другим?
Можно ли это оптимизировать по другому (чтобы было быстрей)?
...
Рейтинг: 0 / 0
множественный UPDATE при импорте
    #39210948
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
weblloydЧем грозит прогнать в цикле тысячи UPDATE один за другим?Ничего особенного.
weblloydМожно ли это оптимизировать по другому (чтобы было быстрей)?А что, сейчас медленно?
...
Рейтинг: 0 / 0
множественный UPDATE при импорте
    #39210974
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
weblloydЧем грозит прогнать в цикле тысячи UPDATE один за другим?Излишней нагрузкой на дисковую и\или сетевую подсистему.

PS. Выгрузка (только необходимых) значений из Excel в CSV, импорт их во временную таблицу и обнолвение всех данных одним запросом намного разумнее.
...
Рейтинг: 0 / 0
множественный UPDATE при импорте
    #39211030
weblloyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
weblloydМожно ли это оптимизировать по другому (чтобы было быстрей)?А что, сейчас медленно?[/quot]

Ну как сказать, 10 000 позиций около минуты.

AkinaPS. Выгрузка (только необходимых) значений из Excel в CSV, импорт их во временную таблицу и обнолвение всех данных одним запросом намного разумнее.

Это все понятно, но речь идет о готовом модуле импорта для многократного использования: клиент загружает Exel с ценами - он парситься в БД.

C CASE вроде бы все намного быстрее:

Код: sql
1.
2.
3.
4.
5.
6.
UPDATE `catalog` SET `price` = CASE `id`
    WHEN 'some_id' THEN some_price
    WHEN 'some_id' THEN some_price
    WHEN 'some_id' THEN some_price
    .......
ELSE `price` END
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / множественный UPDATE при импорте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]