我正在制作一款将数据存储在数据库中以供多人游戏使用的游戏。要存储的数据的简化版本大致如下: 玩家A在地图上进入国家X,这样一来,国家将随着时间的推移而失去影响力。
这很简单,因为本地游戏可以在后台更新,然后在玩家停止影响时向数据库发送更新。
复杂化来自: 玩家B在玩家A之后前往国家X.要检查国家X的当前影响,需要发生以下两件事之一:A)数据库中的影响字段随时间更新自身,或者B)游戏不断更新数据库玩家A的游戏更新几秒钟。
A)听起来似乎是更好的选择,但我实际上并不知道这是否可能(是吗?)以及在很多国家的数据库中存在多大的压力?
很抱歉,如果这听起来含糊不清,但它似乎不仅仅是游戏,而且似乎是一个相当普遍适用的场景。如果您需要任何澄清,请询问。
答案 0 :(得分:4)
简单,您可以使用Sql Job
从数据库执行此操作创建一个根据某些字段计算影响力的SP,并将其更新为某个列。
在作业中调用此SP,将其安排为每5分钟或任何您想要的时间运行。