几十万条数据用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递归能实现无限级分类吗的主要内容,如果未能解决你的问题,请参考以下文章