Heim >Backend-Entwicklung >PHP-Tutorial >如何算相互关注?
如 微博的相互关注 提示 是如何高性能展示和换算出来的?
有具体的方法和思路么?
高性能前提
如图:
问题更新
估计一开始我没有描述清楚问题。
现在我们的业务一开始就有漏洞和设计的不严谨。
现在我们的数据库中是没有相互关注的字段和数据库的。也就是只有 我关注的人 以及 关注我的人 , 所以现在需要搞性能的换算出我的相互关注的人来。
比如:A的关注:B/C/D/E/F/G...等若干个; A的粉丝数:E/F/H/I/G...等若干个;
现在如何求得A的相互关注的数量以及具体的人。 (要高性能)。
我知道一个死办法就是一个一个去对比和算。但是 这个性能很低。
如 微博的相互关注 提示 是如何高性能展示和换算出来的?
有具体的方法和思路么?
高性能前提
如图:
问题更新
估计一开始我没有描述清楚问题。
现在我们的业务一开始就有漏洞和设计的不严谨。
现在我们的数据库中是没有相互关注的字段和数据库的。也就是只有 我关注的人 以及 关注我的人 , 所以现在需要搞性能的换算出我的相互关注的人来。
比如:A的关注:B/C/D/E/F/G...等若干个; A的粉丝数:E/F/H/I/G...等若干个;
现在如何求得A的相互关注的数量以及具体的人。 (要高性能)。
我知道一个死办法就是一个一个去对比和算。但是 这个性能很低。
这种信息只要在关注/取消关注的时候更新对应的状态,显示的时候直接if-else判断就好了,你一定不会以为是每次显示的时候才去查询是否互相关注的,对吧。
update: 如果你现在必须(真的必须吗)在只有这两组数据的情况下去计算的话,最优的算法就是哈希表了,应该不可能再高了。