Рассмотрим следующую структуру таблицы:
id name rank position
-------------------------------
1 Steve 5 0
2 David 3 0
3 Helen 9 0
4 Mark 15 0
Мне нужен быстрый алгоритм для оценки этих строк по столбцу rank
и сохранения «позиции» каждой строки в поле position
в реальном времени.
Теперь у меня есть жестокое решение:
SELECT * FROM table ORDER BY rank DESC
А затем получить результат в цикле и обновить каждую строку, заполняя столбец позиции. Но что, если бы у меня были тысячи записей? Как я могу оптимизировать это?