目前用的方法 是 先查询出所有的数据,再进行对比是不是同一个用户,是不是同一天,这样数据少的时候 还行 !数据量以上千基本就卡死了!
1 回答
霸王龙不只会php3
TA贡献37条经验 获得超32个赞
要看是要做到实时的?还是统计之前一天的?
实时的,需要有一个表专门记录总金额,每次充值,事务性操作增加到总金额里,消费也事务性操作从总金额减去。
看你的描述应该是要按天统计,这个就需要分步骤去做:首页按当天日期时间戳,得到最早的一个id(或者在一个地方记录下这个id),这样就不用扫描全表,只需要从某个id之后开始扫描;知道id后就可以分页按用户排序去拿数据并汇总,不要一次全拿出来,也不要用group。实际在汇总时还会遇到一个用户在两个页里,那就每两页汇总一次。这是单进程去跑。也可以多进程跑,按用户分进程。
添加回答
举报
0/150
提交
取消