关于点赞表的设计

关于点赞表设计:
方案1.点赞数据表就加一条记录,取消赞就删除这条记录,
方案2.设置一个字段status,点赞就加一条记录,status变成1, 取消赞 就把status变成0~

哪种方式比较好一些
有没有更好的方式

阅读 5.2k
2 个回答

都可以,第二种有个弊端,就是在你每次点赞时,实际上你要执行多个语句:

  • 先查询点赞记录是否存在
  • 不存在就创建
  • 如果存在就更新

当然,你也可以以用户ID和内容ID做唯一索引,然后每次都插入,如果异常就 update。

你也可以使用 replace into 来代替,但是他可能会出现锁死。

所以,第二种看起来不是优解。

详细数据是肯定要记录的,这个其实没什么好说的。。。
被点赞用户不一定要看到数据,点赞用户自己总要看得到吧?再不济的你开了个鼠标连击就能无限赞,怎么限制?

然后这个“status”字段如果不存在的话,你是打算每次都count一遍?
至于如果有削峰和去重需求,那可以丢去队列里慢慢做,总不能不实现吧。。。

so,我全都要.jpg

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题