目前我正在設計一個小的twitter/facebook類系統,在這裏用戶應該能夠看到他的朋友的最新活動。數據庫設計 - 朋友活動
我使用的ASP.NET與MySQL數據庫。
我的友誼表如下:
| Friendshipid |朋友1 | FRIEND2 |確認|
上表中的Friend1和Friend2是用戶標識。
用戶活動表設計如下:
| activityId |用戶ID |活動|日期爲|
現在,我正在尋找最好的方式來查詢用戶的最新50個朋友活動。
例如,假設Tom登錄到系統中,他應該能夠在他的所有朋友中看到最近的50個活動。
任何關於最佳實踐,查詢或任何信息的指針都會被讚賞。
最後我得到這個工作對我來說:SELECT DISTINCT act.activityId,act.activity,act.dated FROM活動行爲 INNER JOIN 友誼FS WHERE(fs.friend1 = act.userid或fs.friend2 = act.userid)AND(fs.friend1 = 1 OR fs.friend2 = 1)AND act.userid!= 1 AND fs.confirmed = TRUE ORDER BY act.dated DESC LIMIT 50; – Chaitanya 2010-11-14 14:01:53