我想问你我该如何解决这个问题。我想将此功能添加到我的网站。但我不知道究竟什么是最好的解决方案。我在想mysql表:像这样
ID | id_user_who | user_seen
1 2 10
id 为 2 的用户看到了 id 为 10 的用户。但这是一个好的解决方案吗?
这是一个很好的解决方案,而且我相信这是唯一正确的方法。只需删除ID
列(第一列),这肯定是一个无用的代理键。相反,将该对设置(id_user_who, user_seen)
为主键。
请注意,主键是和索引,您不需要任何额外的索引。
正如大卫建议的那样,更仔细地命名你的列,当你试图弄清楚这些列到底意味着什么时,你会感谢自己在几个月后这样做。
我宁愿建议像visitor_id
and之类的东西visited_id
。
不确定这是否真的是一个问题......但无论如何,如果我做类似的事情,我会添加一个时间戳,或者一些点击(和最后一次访问)......
是的,这是一个很好的解决方案。确保您的列已编入索引,以便查找/计数快速。您可能还需要考虑添加“date_viewed”列,以便在需要时使记录过期。
这似乎是一个不错的解决方案。使用起来很有意义。我同意@JD 确保它已编入索引,并可能添加一个 date_viewed 列。这样,您在对数据进行排序时就有更多选择。