Ant*_*n N 6 mysql threaded-comments hierarchical-data
假设我们有一个包含用户评论的表格.第一级评论引用了他们所附的文章.更深层次的注释没有设计引用,但它们引用了它的父注释.
对于这个数据库结构 - 获取给定文章的所有注释然后以html格式呈现它的最有效方法是什么?(假设我们有大约200条第一级的评论和最深的20级评论)
Bil*_*win 10
我通常推荐一种名为Closure Table的设计.
请参阅我的回答中的示例.将平面表解析为树的最有效/优雅的方法是什么?
我还设计了这个演示文稿:使用SQL和PHP的分层数据模型.我开发了一个PHP应用程序,它在0.3秒内渲染一棵树,来自一组具有490k节点的分层数据.
我在这里写了关于闭包表的博客:使用闭包表渲染树.
我在书中写了一篇关于分层数据的不同策略的章节,SQL Antipatterns:避免数据库编程的陷阱.
Quassnoi以最有效的方式撰写了一系列关于这一主题的文章.
我建议你阅读第一篇文章并调整示例以使用你的特定表,但关键是要创建一个可以递归你需要获取的行的函数.你可能也想要水平(层次深度),所以第二篇文章也可能也是相关的.
如果您需要对数据进行其他类型的查询,则其他文章可能很有用.他还有一篇文章Adjacency list与嵌套集:MySQL,他在其中比较了邻接模型和嵌套集模型的高度优化查询.
| 归档时间: |
|
| 查看次数: |
2988 次 |
| 最近记录: |