@Wade2k

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

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

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

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

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

Войти через TM ID
Похожие вопросы
Badoo Development Москва
от 140 000 до 180 000 руб.
Badoo Development Москва
от 180 000 до 250 000 руб.
от 90 000 до 150 000 руб.
16 авг. 2018, в 09:18
30000 руб./за проект
16 авг. 2018, в 08:17
600 руб./в час
15 авг. 2018, в 23:38
300 руб./за проект