【发布时间】:2012-06-04 18:52:06
【问题描述】:
我有一个照片库。我想添加“添加到收藏夹”按钮 - 这样用户就可以将其他用户添加到他/她的收藏夹中。然后我希望每个用户都能够看到他最喜欢的用户列表,以及能够看到谁(用户列表)将此用户添加到收藏夹。
我找到了两种方法,第一种是:
faver_id faved_id
1 10
1 31
1 24
10 1
10 24
我不喜欢这种方法,因为 1) 大量重复 2) 未来非常大的表(如果一个至少有 1001 个用户,并且每个用户都喜欢其他 1000 个用户 = 1 001 000 条记录),我想这会减慢我的基础。
第二种方式是:
user_id favs
1 1 23 34 56 87 23
10 45 32 67 54 34 88 101
我可以在 php 中获取这些收藏并explode() 或者通过 MySQL 查询 select count(user_id) from users where favs LIKE '% 23 %' and user_id=10; 搜索用户是否喜欢其他用户
但我觉得第二种方式在 MySQL 方面不是很“正确”。
你能给我一些建议吗?
【问题讨论】:
标签: mysql