首頁 >後端開發 >php教程 >无限极推广,如何快速得到某个用户的下级用户总数?

无限极推广,如何快速得到某个用户的下级用户总数?

WBOY
WBOY原創
2016-06-06 20:18:272069瀏覽

目前在用户表里面用pid关联上下级关系,统计某个用户的下级总数时用的递归查询到19级,但是后来发现在用户下级数量较大时直接就将网站拖死了,请问大家该怎么处理?谢谢。。

回复内容:

目前在用户表里面用pid关联上下级关系,统计某个用户的下级总数时用的递归查询到19级,但是后来发现在用户下级数量较大时直接就将网站拖死了,请问大家该怎么处理?谢谢。。

增加一个path字段

这个其实在很多电商站里面也会遇到这种类似无限级分类的问题,设计我们有时候会所以然的加上一个pid要标识子类,到最后进行查询都得把自己给搞死了。

这时候我们就是修改数据库表结构就可以了,允许数据冗余这个问题就解决了。

补充:

可以在当前表里面增加一个列叫pid_list,这里面存储的格式为1,2,3 1为最高层级 2为上线,3为自己本身的id.

还可以是增加一个标识自己所属的层级Depth,1级为1,对应pid_list的位数层级数。

加了这些之后我们再去查询就方便很多啦。

参考无级数分类

可以增加一个path字段

直接在每个用户记录上增加一个孩子总数, A->B->C->D 如果C邀请了D, 则更新ABC三个加1。 这个任务如果非实时,可以异步处理。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn