
走台阶问题   递归计算时需要注意重复计算的问题
long findRootReferrerId(long actorId) {Long referrerId = select referrer_id from [table] where actor_id = actorId;if (referrerId == null) return actorId;return findRootReferrerId(referrerId);}
生产环境不能这么用
- 多次查询库 类似N+1查询
 - 如果递归很深,可能会有堆栈溢出的问题
 - 脏数据 如果 A 的推荐人是 B,B 的推荐人是 C,C 的推荐人是 A,这样就会发生死循环。
 
想查询某一个人的最终推荐人应该怎么做呢?
 
