php - 请问,这样的数据如何做统计?
黄舟
黄舟 2017-04-11 09:45:20
[PHP讨论组]

我有一个店员管理系统,店员1W,表members,店员有推荐机制(店员几乎是级别无限制的推荐)。
还有一个店员的销售业绩表,member_sales,每一个店员销售一笔,就会向member_sales写一条数据。
现在我每天要统计一个店员和他的所有下级店员每天的营业额,如果达到我的业绩要求,就会给他发奖金。
现在数据不太多,我开了5个crontab 每隔一小时统计2000个店员,5小时完事儿。
但是我怕店员多了以后,这样的笨方法就不行了,要怎么办?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(12)
PHP中文网

重做吧。店员的树形结构设计本身有问题,统计的逻辑也不对,所以时间超长,不是几十句话能说明白的。
店员必须是树形结构的,其销售业绩是自身及其下所有子节点的销售业绩的总和。
此外member_sales表应该有销售日期和销售时间两个字段,销售日期用来统计,而不能通过格式化销售时间转换日期。
树形结构可以参考无限分类。

阿神

把你定时任务的SQL和程序全部贴出来看看

巴扎黑

加一个path一样的字段。把这个理解成栏目。无限级栏目。然后要查某个分类(店员)下的所有文章(业绩)。

mysql用like就行了

迷茫

为什么还要定时执行呢?
输入一个店员的姓名,然后搜索就显示这个店员及其下面的店员的营业额总和。如果你要按照日期统计营业额,再加个搜索条件,开始日期到结束日期。
代码写出来,实现你想要的功能,而且是即查即显示也就是几秒钟的事啊。

不太明白,楼主说用了定时计划执行有什么用

巴扎黑

长远考虑,建立一张member_count表(日期,店员ID,本人销售额,下级销售额)
可以在记录member_sales数据的同时更新member_count表

巴扎黑

为什么要用crontab,被动触发统计会不会更好,
店员销售一笔,统计一次,如果member_sales太大统计慢,可以进行分表。

高洛峰

用数据库啊,mysql简单够用

PHP中文网

使用数据库,对数据进行统计,说不定后期你还能做数据分析呢

天蓬老师

每天凌晨跑一次就行了吧,每个小时跑一次没必要吧

大家讲道理

用了数据库么, sql查询不可能一个小时才2000个啊,crontab具体是执行的什么任务呢?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号