mongodb SNS design 问题
在做一个小型社交网站时,需要涉及到用户
和状态
,评论
等几张表,用户可以发表多个状态,每个状态下会有多个评论信息。
关于状态
表和评论
表的设计遇到了一些问题,即用户信息类似于用户名和用户头像等信息是否要embeded到两张表中,还是只在表中存放用户的ID信息。
现在有两种解决方案:
- 两张表中只存放用户ID,用户具体信息存放在用户表中,但是这种方案在查询时会影响效率,特别是具体访问一条状态时,就要获取该状态的所有评论,而每条评论都要有用户的头像和昵称等等,若每次都分开查询的话,感觉效率会很低。
- 在两张表中存放用户的信息,这种方法在查询时会非常方便,但是用户更新自身状态时会非常麻烦,要去遍历这两张表去逐个更新里面的信息。
不知具体应该选用哪种方案?或者是否有更好的方案?