Heim >Backend-Entwicklung >PHP-Tutorial >实时变化(每天)的数据来自大量数据的查询,导致加载需要很长时间

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

WBOY
WBOYOriginal
2016-06-23 13:38:061102Durchsuche

实时变化(每天)的数据来自大量数据的查询,导致加载需要很长时间,请教一下应该如何优化
比如说用户表里有一个用户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,用逗号隔开。这样可以减少一层查询。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn