Heim >Backend-Entwicklung >PHP-Tutorial >类似于评论嵌套回复的数据库怎么设计?

类似于评论嵌套回复的数据库怎么设计?

WBOY
WBOYOriginal
2016-06-06 20:25:591519Durchsuche

第一种情形

评论嵌套回复,类似于下图这种情况,数据库是怎么设计的?
类似于评论嵌套回复的数据库怎么设计?
我有两种思路,一种是存一下回复的评论id,这样不好出就是每个嵌套评论都要迭代出所有的父类,性能不好。第二种思路是存一下所有父类的id,用一种符号(逗号或者破折号)分开,存在一个字段中。

第二种情形

微博转发,数据库是怎么设计的?
同样我也有两种思路,一种是存转发的人内容id,一种是存曾经转发这条微博的所有人的id,另一种存转发的所有内容。用哪一种更为合适?

还有没有更合适的思路呢。?请大家不吝指出。

回复内容:

第一种情形

评论嵌套回复,类似于下图这种情况,数据库是怎么设计的?
类似于评论嵌套回复的数据库怎么设计?
我有两种思路,一种是存一下回复的评论id,这样不好出就是每个嵌套评论都要迭代出所有的父类,性能不好。第二种思路是存一下所有父类的id,用一种符号(逗号或者破折号)分开,存在一个字段中。

第二种情形

微博转发,数据库是怎么设计的?
同样我也有两种思路,一种是存转发的人内容id,一种是存曾经转发这条微博的所有人的id,另一种存转发的所有内容。用哪一种更为合适?

还有没有更合适的思路呢。?请大家不吝指出。

针对评论盖楼

首先,现在这种形式不多见了,功能上简化了,不适用与移动产品的潮流。
就实现上,以前我们是 每条数据记录了他回复的评论编号。看了你的问题,个人感觉,你的第二种实现采用冗余存储,记录所有的上级的评论编号,是个不错的注意,性能更好一些。在存储多值时,以前喜欢用逗号隔开,现在喜欢用json_encode存储。使用和存储更灵活一些。

针对微博转发

个人想法是,有个关系表,每次转发为一条关系数据,因为转发不存在盖楼的问题。

参考论坛的数据结构设计吧

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn