PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

php订单数据分析问题

原创
2016-12-01 00:56:51 1299浏览

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

回复内容:

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

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

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

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

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

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

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

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

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。