
今天去面试,面试官问了一个关于帖子回复的问题,评论可以无限回复下去的,类似:评论 -》 子评论 -》子子评论 这样,我就说可以使用递归来遍历所有子节点,数据库结构设计多一个保留父级点 ID,但是他说性能不行,该如何优化
1 fsiisx 2020 年 7 月 16 日 Closure Table ? |
2 MIUIOS OP 闭包表 对哦 这玩意怎么给忘了 |
3 jiyingze 2020 年 7 月 16 日 via iPhone 关联最顶级的 ID,一次全查出来?内存里组织树结果 |
4 yeqizhang 2020 年 7 月 16 日 via Android @jiyingze 我也这么想的,缩小了范围。面试官提出的这个无限回复感觉是个伪需求,怎么可能会有无限回复下去这种情况,就算有,存个层级,再分级让用户点加载来展示 |
5 |
7 hyperbin 2020 年 7 月 16 日 via Android 《 SQL 反模式》里有讲闭包表 |
8 MOONYANYI 2020 年 7 月 16 日 无限级的话 , 弄两个表 , 一个存层级和内容 , 一个存它们之间的关系 .也就是把邻接表和闭包表结合起来 |
9 holystrike 2020 年 7 月 16 日 网易评论就是一层一层套下去的啊 |
10 imkerberos 2020 年 7 月 16 日 B+Tree |
11 bzj 2020 年 7 月 17 日 其实你应该反问他为什么性能不行,数据库只查询一次,在代码中逻辑处理,不知道哪里不行 |