最近遇到一个关于树形结构数据的查询问题,希望有大牛指点迷津:
背景:最近接手一个项目,里面含有会员推荐功能,随着用户的增加,发展成了一个属性的庞大数据。现在需要针对每个用户查找其发展用户的个数计算,但是由于数据量庞大,每次进行父节点寻址,递归查询,程序就超时无响应,服务器配置2G内存就跑到98%,然后无法计算出结果。
-
条件:a. 树形结构如下图
b.每个父节点的子节点个数不定,可以任意数目 c.数据表有一个pid来指定其父节点的ID
求有相关经验的大牛前来指点~~
最近遇到一个关于树形结构数据的查询问题,希望有大牛指点迷津:
背景:最近接手一个项目,里面含有会员推荐功能,随着用户的增加,发展成了一个属性的庞大数据。现在需要针对每个用户查找其发展用户的个数计算,但是由于数据量庞大,每次进行父节点寻址,递归查询,程序就超时无响应,服务器配置2G内存就跑到98%,然后无法计算出结果。
条件:a. 树形结构如下图
b.每个父节点的子节点个数不定,可以任意数目
c.数据表有一个pid来指定其父节点的ID
求有相关经验的大牛前来指点~~
请看这个应该是你要的:http://drinkjava2.iteye.com/b... 或 https://github.com/drinkjava2... 只需要额外两个列,一个列存储行号,一个列存储深度值,并在结尾加一个结束标记,即可方便地利用SQL进行快速查询、删除、插入,无需递归。
看看这个吧https://blog.csdn.net/wei3499...
Drinkjava2老哥说的 新增一个用户 根据算法算出前序遍历顺序 就得更新整个表的line 对于用户推荐关系设计没多大用处
4 回答13.2k 阅读✓ 已解决
5 回答7.7k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
1 回答950 阅读✓ 已解决
1 回答1.4k 阅读
以下纯属瞎诌
每个父节点里记录一下子节点个数不行吗。。
插入的时候顺便更新。。