& Quot; Живой & Quot; таблица лидеров («toplist») для производительности бэкэнда (PHP + Mysql)

мы застряли с нашими планами относительно создания «живой» таблицы лидеров для нашей игры. Нам нужна таблица лидеров, которая может отслеживать прогресс и быть дружественной к производительности.

Пока что мы сделали, чтобы создать способ только вставлять новую статистику в MySQL-таблицу, и ничего не обновлять. Причина в том, что мы никогда не хотим удалять старую статистику из-за индикации прогресса в каждой строке размещения. Кроме того, с помощью только вставки мы не блокируем таблицу (mysql).

Так вот в чем дело; Игроки смогут делиться рейтингом, и каждая вставка в таблицу стоит всего по одному очку каждый раз. — Когда мы добавим этот пункт, мы хотим вернуть тех пользователей, которые были затронуты, чтобы мы могли уведомить их об «изменении списка лидеров».

Вот наш, хотя; MySQL таблица, которая содержит эти столбцы:
id, user_id, rank, week, month, year, points, placement_id, created

Мы думаем, что если у нас есть столбец с названием «location_id», который всегда содержит новый идентификатор каждый раз, когда редактируется #rank, мы можем отслеживать это. Но мы обнаружили, что если пользователь оставляет ранг, остальные под этим местом должны следовать на один ранг вверх, если он пуст. И здесь все идет к черту.

У кого-нибудь есть идеи, как думать об этом? Поскольку мы не хотим обновлять строки по причинам производительности, когда в таблице лидеров тысячи игроков, что мы можем сделать?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]