为了账号安全,请及时绑定邮箱和手机立即绑定

mysql大数据量的统计,太耗时,php超时了

mysql大数据量的统计,太耗时,php超时了

PHP
忽然笑 2019-03-13 07:15:19
请问,我想做个数据统计的功能,我先在order表取出order_id,再去order_detail表in(order_id)取出数据然后在php中,做统计!现在业务量激增,致使查询一个月的信息统计,就超时了!请问有什么好的优化办法吗?请指教一下!
查看完整描述

3 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

分开来一次不要查全部的 比如说你有100W条数据 做统计他也不可能一次看100W条你可以以分页的形式统计或者默认条件统计,这样就不会超时啦

查看完整回答
反对 回复 2019-03-18
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

在大数据和联合查询方面,mysql 做的并不好

方法一:

  1. 保证order_id字段都做了索引
  2. 然后通过php控制一条条用 select * from order_detail where order_id = ? 做查询。但要求内存够大

方法二:
1 order和order_detail的数据换到hbase里,做数据统计和时序数据,这是它的强项

查看完整回答
反对 回复 2019-03-18
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

给你个思路:1.比如12W数据;分4次查询;每次得到一个结果,缓存到redis;求出结果,把这个结果值和此次统计的最后一个orderid值(如果自增)写入一个key;结合crotab每天凌晨统计一次,并更新进redis中;真正执行http请求过来获取统计结果的时候;取出统计的结果 + 之前存下的orderid后面的新数据即可得到数据;可供参考

查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 1023 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信