Запуск запланированного задания для обновления вашей игры в любой промежуток времени даст вам всплеск интенсивного использования базы данных. Если ваша игровая логика полагается на то, что все эти значения базы данных обновляются в одно и то же время (что весьма вероятно, если вы запускаете обновление на основе интервалов), вы должны будете запланировать время простоя до тех пор Кронджоб работает. Когда это время становится больше, так как ваша база игроков растет, это становится чрезвычайно раздражающим.
Если вы пытаетесь уменьшить накладные расходы базы данных, вам следует хранить значения с их последним временем обновления и темпами роста и обновлять эти строки только при изменении количества или скорости роста.
Например, запас золота, который растет со скоростью 5 золотых в минуту, обновляется только тогда, когда игрок забирает у него золото. Когда вам нужно узнать текущую сумму, она рассчитывается на основе времени последнего обновления, текущего времени, суммы, сохраненной при последнем обновлении, и скорости роста.
Данные, которые меняются со временем, не требуя взаимодействия, не принадлежат базе данных. Это относится к логическому концу вашей игры. Когда игрок выполняет действие, которое вам нужно запомнить, или расчет становится слишком громоздким, чтобы его можно было генерировать снова, вы сохраняете его.