跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 面试题:数据库实现树结构该如何优化性能?
未分類
22 7 月 2020

面试题:数据库实现树结构该如何优化性能?

面试题:数据库实现树结构该如何优化性能?

資深大佬 : totoro52 3

今天去面试,面试官问了一个关于帖子回复的问题,评论可以无限回复下去的,类似:评论 -》 子评论 -》子子评论 这样,我就说可以使用递归来遍历所有子节点,数据库结构设计多一个保留父级点 ID,但是他说性能不行,该如何优化

大佬有話說 (11)

  • 資深大佬 : shmilwdc

    Closure Table ?

  • 主 資深大佬 : totoro52

    闭包表 对哦 这玩意怎么给忘了

  • 資深大佬 : jiyingze

    关联最顶级的 ID,一次全查出来?内存里组织树结果

  • 資深大佬 : yeqizhang

    @jiyingze 我也这么想的,缩小了范围。面试官提出的这个无限回复感觉是个伪需求,怎么可能会有无限回复下去这种情况,就算有,存个层级,再分级让用户点加载来展示

  • 主 資深大佬 : totoro52

    @yeqizhang 确实是个伪需求,我参考了目前流行的讨论 APP 都是最多三级 所以找不到好的解决方案 但是刚才看了一提了一个闭包 我感觉可以记录左右节点 就可以避免去递归了

  • 資深大佬 : yeqizhang

    @totoro52 对,看看贴吧和知乎的评论设计就知道

  • 資深大佬 : hyperbin

    《 SQL 反模式》里有讲闭包表

  • 資深大佬 : MOONYANYI

    无限级的话 , 弄两个表 , 一个存层级和内容 , 一个存它们之间的关系 .也就是把邻接表和闭包表结合起来

  • 資深大佬 : holystrike

    网易评论就是一层一层套下去的啊

  • 資深大佬 : imkerberos

    B+Tree

  • 資深大佬 : bzj

    其实你应该反问他为什么性能不行,数据库只查询一次,在代码中逻辑处理,不知道哪里不行

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具