几十万条数据用PHP递归能实现无限级分类吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了几十万条数据用PHP递归能实现无限级分类吗相关的知识,希望对你有一定的参考价值。

如题,今天用tp5写了个递归,用的数据库大概有一万条数据,一运行就提示500和525,但是我新建一张表,里面放了10条数据就能正常运行了。我想问一下,如果数据库中有几十万条数据,用php递归还能实现上下级无限级分类吗?如果不能的话,有没有什么好的方法。

参考技术A 可以做树状结构,先查询第一层,然后当展开第二层

的时候,用ajax去查询下一层的信息,如果感觉慢的

话可以给表做索引,也可以做分表处理,几十万不是

太大的数据追问

能不能给个具体的demo,我需要前端表单提交过来一个数据作为查询条件,比如说前端提交过来一个人名,后台根据这个人名查询到对应的uid,然后根据这个uid查询所有下级。这个下级不是一级下级,是多级下级。这个uid的下级的下级的下级的下级的下级这种的

参考技术B 数据量大就使用分页和异步查询,一次查询全部出来 ,内存肯定是吃不消的,运行时间也会比较久。 参考技术C 给sql语句加limit,一次取太多数据会爆内存的,
数据多久分开多次取

php实现无限级分类(递归方法)

什么是无限级分类?

无限级分类是一种分类技巧,例如部门组织,文章分类,学科分类等常用到无限级分类,

将其简单理解成分类就好了。其实我们仔细想一下,生活中的分类简直太多了,

衣服可以分为男装和女装,也可以分为上衣和裤子,也可以根据年龄段分类。

分类无处不在,分类显得“无限”。我这里就不说无限分类的必要性了。

无限级分类原理简介

无限分类不仅仅需要代码的巧妙性,也要依托数据库设计的合理性。

要满足无限级分类,数据库需要有两个必须的字段id,pid。

id用来标识自身,而pid则是用来表明父级id。

也就是说,每个分类记录不仅描述了自身,还描述了与其关心最为紧密的另一个id。

 

以上是关于几十万条数据用PHP递归能实现无限级分类吗的主要内容,如果未能解决你的问题,请参考以下文章

PHP MYSQL 请教 2个字段能无限分类吗?

PHP无限级分类实现(递归+非递归)

PHP原生递归实现无限级分类树状展示数据

PHP利用递归函数实现无限级分类的方法_php技巧 - PHP

PHP迭代与递归实现无限级分类

PHP_递归实现无限级分类