Задать вопрос
djdeniro
@djdeniro
DeNet

Как сделать сортировку большой базы данных?

Привет всем.

Есть база данных с 100 000 пользователей, как сделать быструю сортировку по рейтингу в базе данных?

у пользователя есть ID и Rating, по rating надо отсортить
И, как быстро узнать место пользователя в рейтинге.

Рейтинг меняется от действий пользователя на сайте, скажем от комментария. +random(0,5) за комментарий.

Спасибо
  • Вопрос задан
  • 351 просмотр
Подписаться 3 Оценить 6 комментариев
Решения вопроса 1
Shutik
@Shutik
Погромист халявщик
SELECT id, user_name, rating, @curRank := @curRank + 1 AS rank
FROM person p, (SELECT @curRank := 0) r
ORDER BY rating;
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
index0h
@index0h
PHP, Golang. https://github.com/index0h
Если на фильтруемое поле (Rating) не указали индекс - лучше вообще откажитесь от задачи))
Ответ написан
@heartdevil
плыву как воздушный шарик
Привет.

А насколько медленно сейчас работает?
Ответ написан
@AlikDex
100к это очень немного, обычные индексы на рейтинг и order by.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы