php订单数据分析问题
随着时间的增加,订单表里的数据会越来越多,就需要对一个月或者一季度甚至近一年的数据做分析统计,像退款率,支付率,以及订单关联的产品等的相关参数,但是这样一次实时计算带来的后果要么是超时,要么就是内存溢出,求这样问题用php的解决方案。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
随着时间的增加,订单表里的数据会越来越多,就需要对一个月或者一季度甚至近一年的数据做分析统计,像退款率,支付率,以及订单关联的产品等的相关参数,但是这样一次实时计算带来的后果要么是超时,要么就是内存溢出,求这样问题用php的解决方案。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
这个问题很宽泛并且本质上和语言没有关系, 但大体来说可以先从这两点着手
设立一个离线库, 你的查询去离线库查, 不要去主库上去查询(是通过导出数据还是做主从取决于你们的具体情况)
对于某些经常需要的数据, 设计一个或者多个数据分析的表, 按照你需求的维度隔固定时间跑一次, 历史数据只要一开始跑完就好, 后面你只需要跑新产生的数据进行分析即可
更进一步的需要引入一些其它工具(比如ES, Hadoop等等), 甚至包括重新设计你们数据分析相关的产品的形态
可以建立一个汇总表,定时将统计到的信息写进汇总表中,后边就直接查询汇总表了,反正统计信息是月或者季度的形式呢
用cli模式跑脚本,不要fpm
循环中使用yield关键字,不产生额外中间变量
必须建立 日汇总表。每天定时统计
对于当天之前的数据,可以每天定时收集处理,存储到数据库中,空间换时间,这样的话实时数据也只是需要查当天的,效率会高很多,对服务器的压力这会大大降低,还可以做一下缓存,防止用户频繁刷新带来的压力