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

Всем привет!

Друг разрабатывает игру под Android. Меня он попросил написать серверную часть. Итак...

Для каждого пользователя, установившего игру, на сервере создаётся отдельная запись в таблице БД. Одной из ячеек является игровой баланс. Этот баланс каждый день увеличивается на случайно выбранное количество баллов (для всех участников одинаковое). У пользователя есть возможность посмотреть статистику того, как увеличивался баланс. Собственно вопрос в том, как хранить эту статистику. На данный момент создаётся отдельная таблица с полями ДАТА / ИГРОК / ДОБАВЛЕННЫЕ БАЛЛЫ / ИТОГОВЫЕ БАЛЛЫ. То есть, если игроков 1.000 - в день будет добавлена 1.000 записей в таблицу. Если игроков 10.000 - 10.000 записей. Это крайне не рационально. Есть ли у вас идеи, как оптимизировать этот процесс?
  • Вопрос задан
  • 2378 просмотров
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
для всех участников одинаковое

Таблица: GlobalBouns
дата | добавлено_всем_баллов | сумма_бонус-баллов_за_все_время
27.09.2014 | 5 | 5
28.09.2014 | 7 | 12
29.09.2014 | 6 | 18
При выводе суммируйте баллы пользователя с баллами общей суммы на самую новую запись в таблице.
История - вывод слияния по датам из таблицы пользователей (по конкретному пользователю) и GlobalBonus с сортировкой по дате.
Будут два типа записей: действия игрока (увеличил или убавил баллы) и (среди них) записи глобального бонуса.
[Текущее количество баллов игрока] = [реальных баллов игрока] + [сумма_бонус-баллов_за_все_время (самая последняя запись)]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы