мы застряли с нашими планами относительно создания «живой» таблицы лидеров для нашей игры. Нам нужна таблица лидеров, которая может отслеживать прогресс и быть дружественной к производительности.
Пока что мы сделали, чтобы создать способ только вставлять новую статистику в MySQL-таблицу, и ничего не обновлять. Причина в том, что мы никогда не хотим удалять старую статистику из-за индикации прогресса в каждой строке размещения. Кроме того, с помощью только вставки мы не блокируем таблицу (mysql).
Так вот в чем дело; Игроки смогут делиться рейтингом, и каждая вставка в таблицу стоит всего по одному очку каждый раз. — Когда мы добавим этот пункт, мы хотим вернуть тех пользователей, которые были затронуты, чтобы мы могли уведомить их об «изменении списка лидеров».
Вот наш, хотя; MySQL таблица, которая содержит эти столбцы:
id
, user_id
, rank
, week
, month
, year
, points
, placement_id
, created
Мы думаем, что если у нас есть столбец с названием «location_id», который всегда содержит новый идентификатор каждый раз, когда редактируется #rank, мы можем отслеживать это. Но мы обнаружили, что если пользователь оставляет ранг, остальные под этим местом должны следовать на один ранг вверх, если он пуст. И здесь все идет к черту.
У кого-нибудь есть идеи, как думать об этом? Поскольку мы не хотим обновлять строки по причинам производительности, когда в таблице лидеров тысячи игроков, что мы можем сделать?
Задача ещё не решена.
Других решений пока нет …