Heim  >  Artikel  >  Backend-Entwicklung  >  树形结构数据,指定节点的子节点个数问题

树形结构数据,指定节点的子节点个数问题

WBOY
WBOYOriginal
2016-06-06 20:24:071480Durchsuche

最近遇到一个关于树形结构数据的查询问题,希望有大牛指点迷津:

  1. 背景:最近接手一个项目,里面含有会员推荐功能,随着用户的增加,发展成了一个属性的庞大数据。现在需要针对每个用户查找其发展用户的个数计算,但是由于数据量庞大,每次进行父节点寻址,递归查询,程序就超时无响应,服务器配置2G内存就跑到98%,然后无法计算出结果。

  2. 条件:a. 树形结构如下图

    <code>    b.每个父节点的子节点个数不定,可以任意数目
        c.数据表有一个pid来指定其父节点的ID
    </code>

树形结构数据,指定节点的子节点个数问题

求有相关经验的大牛前来指点~~

回复内容:

最近遇到一个关于树形结构数据的查询问题,希望有大牛指点迷津:

  1. 背景:最近接手一个项目,里面含有会员推荐功能,随着用户的增加,发展成了一个属性的庞大数据。现在需要针对每个用户查找其发展用户的个数计算,但是由于数据量庞大,每次进行父节点寻址,递归查询,程序就超时无响应,服务器配置2G内存就跑到98%,然后无法计算出结果。

  2. 条件:a. 树形结构如下图

    <code>    b.每个父节点的子节点个数不定,可以任意数目
        c.数据表有一个pid来指定其父节点的ID
    </code>

树形结构数据,指定节点的子节点个数问题

求有相关经验的大牛前来指点~~

以下纯属瞎诌

每个父节点里记录一下子节点个数不行吗。。
插入的时候顺便更新。。

数据量具体是什么数量级的?如果数据量不是特别大按理来说应该不需要消耗这么大资源,递归可以考虑优化,存取中间结果释放内存,改成非递归。

兄弟我也遇到这样的问题了,你们解决了吗?

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