猿问

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

请问,我想做个数据统计的功能,
我先在order表取出order_id,再去order_detail表in(order_id)取出数据
然后在php中,做统计!
现在业务量激增,致使查询一个月的信息统计,就超时了!请问有什么好的优化办法吗?请指教一下!

忽然笑
浏览 1024回答 3
3回答

慕莱坞森

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

牧羊人nacy

在大数据和联合查询方面,mysql 做的并不好 方法一: 保证order_id字段都做了索引 然后通过php控制一条条用 select * from order_detail where order_id = ? 做查询。但要求内存够大 方法二:1 order和order_detail的数据换到hbase里,做数据统计和时序数据,这是它的强项

qq_花开花谢_0

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