方案一:
一张文章表,含有点赞数字段,收藏数字段
当用户点赞时,点赞字段+1
当用户收藏时,收藏字段+1
方案二:
文章表、点赞表、收藏表
当用户点赞时,点赞表插入用户id、文章id
当用户收藏时,收藏表插入用户id、文章id
用哪种方案好?
方案一:
一张文章表,含有点赞数字段,收藏数字段
当用户点赞时,点赞字段+1
当用户收藏时,收藏字段+1
方案二:
文章表、点赞表、收藏表
当用户点赞时,点赞表插入用户id、文章id
当用户收藏时,收藏表插入用户id、文章id
用哪种方案好?
**方案一:完全可行,因为点赞收藏数等一系列的记录只是记录值,字段用简单的数据类型,比如int,对性能和查询来说都是最优的
比如方案2,如果一个页面上显示,点赞和收藏数你就需要查询3个表,这样不是更麻烦
15 回答8.4k 阅读
8 回答6.2k 阅读
4 回答4.4k 阅读✓ 已解决
5 回答3.2k 阅读✓ 已解决
4 回答4k 阅读
1 回答2.9k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
两种方案融合一下
用户浏览文章21时,查询用户对该文章的操作表,得到其是否对该文章点过赞,收藏过,并查询文章表得到文章的被点赞数和被收藏数。
如果想做类似于知乎的那种,“您的好友xxx也赞过该回答”,联表查就完事了
多一个字段其实多不了太多空间占用的,没有必要一个表两种数据行,点赞数据行和收藏数据行,两个字段分记录收藏和点赞情况更好处理。