我有一個照片庫。我想添加「添加到收藏夾」按鈕 - 所以用戶可以添加其他用戶到他/她的收藏夾。然後我希望每個用戶都能夠觀看他最喜歡的用戶列表,並且能夠觀看誰(用戶列表)將該用戶添加到收藏夾。在MySQL中存儲用戶「收藏夾」的最佳方式
我發現兩種方法,第一是:
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
我可以,如果用戶喜歡通過MySQL查詢select count(user_id) from users where favs LIKE '% 23 %' and user_id=10;
其他一些用戶把這些的收藏和爆炸()他們在PHP或搜索,但我覺得第二種方式在MySQL中並不是很「正確」。
你能給我些建議嗎?
非常感謝這樣清楚的解釋。是的,我忘了我可以在第一種情況下添加表索引,它將解決數千條記錄的問題。 – oyatek 2010-12-11 17:53:39
@oyatek:沒問題。我很樂意提供幫助。 – AgentConundrum 2010-12-11 20:46:25