关于无限极分类设计如何分页?如何设计出高性能的无限极分类?

我看好多教学,无限极分类都没做分页,还有无限极的更新也做得乱七八糟,有的都没有判断父级分类不能选择自己和自己的子集,因为选择自己和子集做父级,那么递归的时候该分类和所有的子集数据将会丢失,而且也没有分页,那要是有几百个分类那怎么办呢?一口气把所有数据都干出来,然后递归全部展示在一个页面上么??了规避这个问题,我目前想到了我的解决方案

1.只做二级分类,也就是父级分类永远只能查询出顶级的,然后修改的时候只能选择自己的顶级,

优点:实现简单,数据库压力也小
缺点:依然不能分页,都是通过查询出所有分类,然后递归

2.分类永远只展示顶级,然后子集永远都只能通过ajax进行展示。

优点:查询顶级和分页非常简单,数据库压力也小。可以 分页展示,哪怕你有多少个分类都无所畏惧

缺点: 其实也不算吧,硬要说应该是相对于前面那个可能每次都要点击ajax加载才能看到子集吧。

目前我是用的第一种方式实现的,只能说心里并不是很满意

关于无限极分类设计如何分页?如何设计出高性能的无限极分类?

数据库设计:

关于无限极分类设计如何分页?如何设计出高性能的无限极分类?

对于这方面的需求,开发后台管理的时候应该是不可少的,说是无限极分类,实际上顶天了最多4级,超过了,用户体验都不太好,我弄的最多的就是二级,34级的很少弄

对任何方面,我喜欢做吹毛求疵,然后写博客记录之,关于这方面,兄弟们,可有高见?欢迎讨论啊。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 5

可以把表设计成左右节点的形式

3年前 评论
欲饮琵琶码上催 (楼主) 3年前
还不出来 (作者) 3年前
zccxvas110 3年前
91it 3年前

我的项目目前最多5级,用的是pid(邻接表)的方式,总数据量大概有5000条了,目前是全部获取后给前端。由于业务人员的脚本写的有问题,已经开始出现性能问题了,需要一种能够快速获取任意节点及所有子树的方案 :sob:

3年前 评论
欲饮琵琶码上催 (楼主) 3年前

@91hero 无限级数据多了层级深了不行的,你那个字段怎么记? 0-99991-99992-99993这样? 不加索引就扫表,加了索引你这就太占空间了?前缀索引,反转都不行

3年前 评论
91it 3年前

时间换空间,空间换时间。无非都是这两种,如何选择主要看你业务。 数据量不多个人倾向闭包表实现。 这篇博文可以参考下 www.phpbloger.com/article/50.html

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!