>백엔드 개발 >PHP 튜토리얼 >实时变化(每天)的数据来自大量数据的查询,导致加载需要很长时间

实时变化(每天)的数据来自大量数据的查询,导致加载需要很长时间

WBOY
WBOY원래의
2016-06-23 13:38:061102검색

实时变化(每天)的数据来自大量数据的查询,导致加载需要很长时间,请教一下应该如何优化
比如说用户表里有一个用户A  他邀请了很多会员A1,A2,A3..............An   ,会员A1 又邀请了很多会员 A11,A12,A13.........A1n
A2邀请了很多会员A21,A22,A23,,,,,,,,,,,,,,,,,,A2n  以此类推      A的直接会员是A1 ,A2,A3 等  间接会员有 A11,A21.....A21,A22.....等   每个会员去消费, 会员自己自己会收到返利,并同时给上级,上上级返利一部分钱,把相关数据插入订单表,每个用户收到来自相关会员的返利7天内不可以提现,算是冻结资金,因此算冻结资金的时候需要查询大量数据, 包括会员自己7天内消费的订单,还要从用户表查找出所有的直接会员和间接会员  然后在找出他们7天内的消费, 所以冻结资金在页面的展示就会加载非常慢,请教一下 如何设计和优化表结构 还是说怎么设计和优化程序才能使速度加快


回复讨论(解决方案)

只要不会出现下级邀请上级的情况,比如 A22 邀请了 A
可使用改型前序遍历(左右值预排序)算法组织数据

只要不会出现下级邀请上级的情况,比如 A22 邀请了 A
可使用改型前序遍历(左右值预排序)算法组织数据

  不会出现下级邀请上级的情况,能否详细说明一下 不大懂

定时跑数据 定时更新 不要实时加载. 这部分的运算使用独立的服务器来处理

网上的介绍很多,你自己搜一下
这篇文章说的还算清楚  http://blog.csdn.net/yaerfeng/article/details/8517479

定时跑数据 定时更新 不要实时加载. 这部分的运算使用独立的服务器来处理

  如果每天都有消费,数量比较大  定时更新的话     在一个定时到下一个定时之间会出现数据不准确的情况吧

预处理 不要实时统计据算,数据大了实时计算要疯的 早点规划好,免得以后犯愁

有个最简单的方法,给该表添加个字段,记录下一层的用户id,用逗号隔开。这样可以减少一层查询。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.