Есть таблица, данные из которой надо выводить с разбивкой по страницам. Данных МНОГО. LIMIT N,M тормозит ужасно. Поэтому в таблице давно есть поле `page`, где и хранится нужное число.
Всё хорошо, но иногда данные модифицируются так, что нужен пересчёт числа страниц. Сейчас это сделано внешне (считываем все тысячи записей по заданному критерию, крутим цикл в скрипте, сажая тысячи UPDATE, в каждую запись).
Подумалось тут - а, может, я торможу.
И можно как-то извратиться одним запросом
SET `page` = <some> WHERE ... ORDER BY ...
?
Пусть он хоть 2-3 секунды для 5000 записей думает, такие задержки перетерпеть можно, сейчас до 10 секунд уходит, что уже выглядит как тормоза при пересчётах...