一行带有ID数组或每行一行?

时间:2016-02-11 21:22:28

标签: database parse-platform database-design

我正在使用" Feed"处理视频应用。该视图列出了我关注的用户发布的所有视频。

我想实现"已查看"在这些视频上陈述,并想知道实现这一目标的最佳方式是什么。

我正在使用Parse(在我的服务器上自托管),但我认为我的问题对每个数据库系统都很常见。

我的想法是创建一个名为" VideoView"的类(在我的Parse后端)。我将在其中执行以下选项之一:

选项1)每次看到特定视频时插入一行。 所以在这个类中,我会有一个指向User类的指针(已查看视频的当前用户的objectId)和指向Video类的指针(查看视频的objectId

选项2)每个用户插入一行(再次指向User类的指针)并拥有此特定用户查看过的每个视频ID的数组。

在这里实现我想要的最佳选择是什么?在这种情况下,最佳做法是什么 - 为每个视频视图保存一行或为每个用户保存一行并保存在数组中查看的每个视频ID?

谢谢!

1 个答案:

答案 0 :(得分:0)

这是一个多对多的映射。用户可以观看任意数量的视频,并且可以由任意数量的用户观看视频。

最佳选择是使用userId,videoId进行表格映射,这样您就可以回答更多与用户和视频相关的查询。每当查询针对每个用户的特定视频的视图数量时,您可以简单地将计数查询到数据库,而不是遍历整个数组。