php订单数据分析问题

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

阅读 5.3k
5 个回答

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

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

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

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

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

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

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

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

新手上路,请多包涵

必须建立 日汇总表。每天定时统计

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题