我一直在阅读关于分层数据库结构的内容,我想知道如何将它应用到我当前的代码中。目前,我正在查询所有帖子,然后在该查询的循环中,我对该帖子的所有评论进行了另一个查询。所以对每个帖子都要额外查询;这对我来说似乎效率低下。我的表结构:
posts.id,posts.userid,posts.text
comments.id,comments.postid,comments.userid,comments.text
我看到一些帖子,人们提到在一个查询中完成所有这些操作,其中返回的查询使用sql的CONCAT()为缩进注释添加空格。然后在appcode中你会检查空格并相应地显示。关于查询我的数据样式的任何想法?
答案 0 :(得分:1)
你可以连接你喜欢的任何字段,但是连接comments.text行会很麻烦
我通常做的是将帖子和评论放在同一张表中: 帖子(postid,userid,text,parent_postid)
你知道当parent_postid == 0时它是否是一个帖子,你可以轻松获取相同“帖子”的所有帖子/评论 我认为在大多数系统中这是一种更常见的方式