为了账号安全,请及时绑定邮箱和手机立即绑定

如果 一个用户A 每天充值了2次 但是只统计1次但是还要计算出他的总金额 要如何实现 ?

如果 一个用户A 每天充值了2次 但是只统计1次但是还要计算出他的总金额 要如何实现 ?

qq_陌路朋友_0 2016-02-25 17:24:53
目前用的方法 是 先查询出所有的数据,再进行对比是不是同一个用户,是不是同一天,这样数据少的时候 还行 !数据量以上千基本就卡死了!
查看完整描述

1 回答

?
霸王龙不只会php3

TA贡献37条经验 获得超32个赞

要看是要做到实时的?还是统计之前一天的?

  1. 实时的,需要有一个表专门记录总金额,每次充值,事务性操作增加到总金额里,消费也事务性操作从总金额减去。

  2. 看你的描述应该是要按天统计,这个就需要分步骤去做:首页按当天日期时间戳,得到最早的一个id(或者在一个地方记录下这个id),这样就不用扫描全表,只需要从某个id之后开始扫描;知道id后就可以分页按用户排序去拿数据并汇总,不要一次全拿出来,也不要用group。实际在汇总时还会遇到一个用户在两个页里,那就每两页汇总一次。这是单进程去跑。也可以多进程跑,按用户分进程。

查看完整回答
1 反对 回复 2016-02-25
  • 1 回答
  • 0 关注
  • 1589 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信