@Wade2k

Как ускорить Update в цикле на большой таблице?

Есть таблица table1 c 3млн строк. Индекс на id есть.

Нужно в цикле на php сделать update одного поля по id последовательно для всех строк.
Написал на php скрипт, все хорошо, но каждые 1000 update отрабатывается за 8 сек. Так я буду до завтра ждать)

Explain посмотрел, индекс используется. В чем может быть проблема?
Таблица innodb
  • Вопрос задан
  • 576 просмотров
Пригласить эксперта
Ответы на вопрос 3
SWEBB
@SWEBB
Software Developer
Может, я не так понял но зачем здесь запускать цикл , если обновляется вся таблица, где перебираются все ID последовательно.
Просто же можно
UPDATE table1
SET field = 'value'
Ответ написан
@BorisKorobkov Куратор тега MySQL
Web developer
1. create temporary table t_tmp ...
2. insert into t_tmp values (...), (...), ...
3. update ...
4. drop temporary table t_tmp
Ответ написан
@sidni
Php Developer
я с этим столкнулся на проекте с огромными прайсами и там самое простое решение это удалять и заного порционно вставлять
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы