如何在数据库中 realize/encode a "like" (Facebook)?

How to realize/encode a "like" (Facebook) in a database?

我即将实施类似于 Facebook 或 Google +1 的功能。问题是我可以想出几种方法来做到这一点,但我不确定哪种方法好。

当然我不想丢失 who 的信息实际上 "liked" 一些东西所以只是一个简单的 "counter" 是做不到的。

我能想到的最实用的方法是使用看起来像 (ITEM_ID, USER_ID) 的 table ITEM_LIKE 并允许我通过项目 ID 获取所有用户 ID(当然还有用户的每个项目 "liked" 作为出色地)。但是 我不知道这是否足够 and/or。想象一下拥有数十万用户——这仍然是一个好的方法吗?因为这个 table 会对每个用户制作的每个单曲进行编码,这意味着这会变得非常大。

是这么简单还是有更复杂的方法?

是的,就这么简单。您还应该考虑向此 table 添加日期列,并使 user_id 和 item_id 的组合成为 table.
的主键 大多数现代数据库应该能够轻松处理像这样具有数千万行的 table。