делаю в БД таблицу персонажа. У персонажа есть максимальное хп которое зависит от таких факторов как уровень, базовое хп, и в дальнейшем может быть еще что-то.
Как мне кажется правильным было бы все хранить в БД, но если Я хочу изменять какое-то значение например как хп, то мне стоит обращаться к нескольким таблицам, обновлять основную. Мне кажется правильно было бы использовать тригер для автоматического обновлении в рамках БД, а не бэкенда.
Тут встает вопрос, что ХП это совокупность нескольких таблиц, можно ли значения в колонке вытягивать математической формулой используя другие колонки, как в том же excel'e ? не используя тригер ( ну или сделать универсальную функцию, которую будет использовать несколько тригеров из разных таблиц?)
На сколько корректно Я мыслю, и на сколько корректна моя реализация? Мне кажется это сэкономит ресурсы и скорость, так как будет меньше запросов( хз на скольок ресурсоемкий тригер)
Можно просто хранить историю действий, меняющих hp (урон, выпивание зелья и т.п. - положительные и отрицательные значения). А считать просто в момент обращения (sum, грубо говоря, по этой таблице для данного юзера). С максимальным hp - аналогично
Хм. Логично , чот Я все усложил..
Только оптимизировать запрос не забудьте, потому что действий будет дофига. Возможно, индекс на user_id надо будет повесить и т.п. - там уже по факту смотреть надо
Обсуждают сегодня