我应该在哪里存储喜欢和不喜欢的视频?

zak*_*ria 1 mysql database-design

我正在构建一个视频托管网站,我希望我的用户能够喜欢或不喜欢这些视频,问题是我有MySQL中的用户和视频表,我不知道在哪里存储喜欢的或者不喜欢

我应该将它们存储在用户表或视频表中,还是制作新表并将其与视频和用户链接?

像这样的东西:

id  |  video_id  | user_id  | like_or_dislike
1   |  2         | 4        | 0
2   |  2         | 5        | 1
Run Code Online (Sandbox Code Playgroud)

Bil*_*ard 6

绝对是一张单独的表.对用户表中的大量视频或视频表中的大量用户存储喜欢的内容会缩放到错误的方向.您会发现自己添加列而不是行.

  • @zakaria正确索引,MySQL可以处理数十亿行的表. (4认同)
  • +1"用户"可以喜欢(或不喜欢)零个,一个或多个视频.零,一个或多个用户可以喜欢"视频".(或者不喜欢.仇恨者必须讨厌.)这是"用户"和"视频"之间经典的多对多关系.添加表来解决这种关系是传统的关系方法.该行还可以有其他信息.例如,用户"喜欢"视频的日期和时间.只要**适当的索引**可用,并且查询得到适当的编写,性能就不会成为问题. (2认同)