要补发给玩家的奖励可以通过表A和奖励发放表计算得出(需要补发的奖励 = 表A - 实际奖励发放表)。
现在的做法是写个job把这份补发奖励的名单拉取来(没错不等关服维护了,直接在线跑job)。这里要强调一点:只有在“实际奖励发放表”存在的玩家才有可能需要补发奖励。
第三个方法是我用来凑数的,请各位千万不要这么做。除非实际奖励发放表中玩家人数只有个位数。那到底是用第一个还是第二个呢?这个问题主要看两点:
采用方法二:范围查询的方式把数据加到内存中然后再筛选
需要查询的MySQL数据很多(玩家名单list有几万个),使用范围查找能加快查询速度并且即使将表A的数据全部加载在内存中job服务器也是没有压力。
假设是数组形式如:需要查1,2,3,4,5,6的数据就用in :select * from table where num in(1,2,3,4,5,6)如果需要查询范围内的,如:查询1-6范围内的可以:
select * from table where num >1
and num <6
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)