积分数据库设计求教,该如何解决

积分数据库设计求教,该如何解决

积分数据库设计求教

设计积分数据库的时候,就是用简单的update point = point + 5 这样的方式来实现积分的累计。

然后发现这样方式是可以被刷分的,我用的是php,每次从log表中查找这次update是否有加过,如果没执行过的话,就执行update,同时在log表插入执行过的记录。

然后发现,如果用发包的工具或者两台电脑,同一时间访问这个网页,一开始的log表查询都判断为真,因为还没有插入记录。便都执行update去了。。于是。。同一时间便执行了2次update。

后来我用每次都sum一下log中的数值来补的漏洞。。。现在log量大了,每次sum都效率很低,求教用什么方法可以防止这样的刷分。



这个应该可以通过锁表(LOCK TABLES)的方式来做




增加一个字段 added 如果为0可以加,为1者是加过了




数据库的重构来实现的。

积分数据库设计求教,该如何解决

相关文章:

你感兴趣的文章:

标签云: