现在我的需求是这样的,
每一个用户会产生 N 多订单 现在要排序 订单数量从大到小 的用户.
如果按照传统 我先将每一个用户的订单总数统计,然后进行排序.这样一但数据量变大基本无法排序会很消耗系统资源统计时间也会变长.请问有什么方法吗?
0.假设一天几十万的订单,搞个脚本,每天跑一次,统计一天的订单数
1.根据订单时间从数据库获取每天的总订单
可以为时间加上索引
2.根据取出的数据,从程序方面,按用户分组,统计订单中每位用户的订单数
不要用sql来做分组统计,因为数据库压力会非常大,可以放到php中来做处理,统计这些订单中的每一个用户有多少订单,相当于sql中的group by user
3.然后加到用户的订单总数中,可以放到redis中
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。