1
对于一个游戏,我试图实现一个分数表。根据游戏逻辑,当一个用户每隔几分钟完成一轮时,分数通常会改变;但不保证两个用户将同时完成。在MySQL表中替换整个数据
为了不重新计算每次用户检查分数时的分数,我打算将分数数据保存在永久性表中,每次完成一轮后都会更新。
我打算
TRUNCATE TABLE scores; INSERT INTO SCORES SELECT ....
来实现这一点,但我关心的是,当两个用户完成在同一时间发生的事情。我在一个连接中传递整个查询(如果这很重要,则从ASP.NET中),但是两个查询一起被视为原子?或者您是否建议我必须实施手动交易逻辑?
如果您建议使用事务处理,那么将查询与“BEGIN TRAN ... END TRAN”放在一起就足够了,您是否建议使用MyISAM或InnoDB作为“分数”表?
如果有问题,我的MySQL版本是5.0.92-log。
为什么每次计算分数时都要截断表格? – Jordan 2012-04-04 21:51:45