Maison >développement back-end >tutoriel php >无限极推广,如何快速得到某个用户的下级用户总数?

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

WBOY
WBOYoriginal
2016-06-06 20:18:272067parcourir

目前在用户表里面用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。 这个任务如果非实时,可以异步处理。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn