欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php订单数据分析问题

程序员文章站 2022-04-22 09:34:22
...
随着时间的增加,订单表里的数据会越来越多,就需要对一个月或者一季度甚至近一年的数据做分析统计,像退款率,支付率,以及订单关联的产品等的相关参数,但是这样一次实时计算带来的后果要么是超时,要么就是内存溢出,求这样问题用php的解决方案。

回复内容:

随着时间的增加,订单表里的数据会越来越多,就需要对一个月或者一季度甚至近一年的数据做分析统计,像退款率,支付率,以及订单关联的产品等的相关参数,但是这样一次实时计算带来的后果要么是超时,要么就是内存溢出,求这样问题用php的解决方案。

对于当天之前的数据,可以每天定时收集处理,存储到数据库中,空间换时间,这样的话实时数据也只是需要查当天的,效率会高很多,对服务器的压力这会大大降低,还可以做一下缓存,防止用户频繁刷新带来的压力

这个问题很宽泛并且本质上和语言没有关系, 但大体来说可以先从这两点着手

  1. 设立一个离线库, 你的查询去离线库查, 不要去主库上去查询(是通过导出数据还是做主从取决于你们的具体情况)

  2. 对于某些经常需要的数据, 设计一个或者多个数据分析的表, 按照你需求的维度隔固定时间跑一次, 历史数据只要一开始跑完就好, 后面你只需要跑新产生的数据进行分析即可

更进一步的需要引入一些其它工具(比如ES, Hadoop等等), 甚至包括重新设计你们数据分析相关的产品的形态

可以建立一个汇总表,定时将统计到的信息写进汇总表中,后边就直接查询汇总表了,反正统计信息是月或者季度的形式呢

  • 用cli模式跑脚本,不要fpm

  • 循环中使用yield关键字,不产生额外中间变量

相关标签: 数据分析 php