需求是获取文章下的评论以及评论的回复
大概形式是这样
A:这是一条评论
- B:这是评论的回复
- 回复B:这是评论的回复的回复
- 回复C:这是评论的回复的回复的回复
然后之前的做法是:
- 先select出评论
- 在foreach评论逐条select出评论的所有回复,再按时间排序,归类到评论的子集中
但是一旦评论多了之后就会出现性能瓶颈,如何科学高效地拿到这个评论和回复的集合?包括数据表如何设计和代码的逻辑,求大神赐教。
补充:表的结构可以修改,我想知道科学一点的表一般是怎么设计的?或者说如何设计这个表能够最大程度提高性能
再补充:还有一个问题,就是如果我只需要获得单个评论下的三条回复内容,以及单个评论下所有回复的数量,又该怎么处理这个逻辑或者说sql怎么写呢?
可以加一个字段depth 比如1-3-5;
首先查评论肯定是要分页的每页数量可控。每一条再根据这个depth查询他的回复评论。这样可以减少查库次数,效率会好一些