Users table
user_id
pic_url
name
friends table
auto_id
userid
friendid
status
actions table
auto_id
userid
type
subject
body
datetime
我想進行更新,多數民衆贊成的朋友流中顯示的更新,可能是一個博客帖子,狀態變化,任何事情,但應該只表明是從登錄的用戶的朋友的人需要幫助與MySQL連接
這是我想出來的,但我的用戶基數非常大,所以性能是必須的,有沒有更好的方法來做到這一點?請告訴我
SELECT u.user_id, u.pic_url, u.name, a.auto_id, a.userid, a.type, a.subject, a.body, a.datetime
FROM actions AS a
LEFT JOIN users AS u ON u.auto_id=a.userid
LEFT JOIN friends AS f ON f.userid=a.userid
WHERE f.friendid=1 //1 would be my user ID
AND f.status=active
請幫助我不認爲這是正確的。
假設有5萬個用戶,我的用戶名爲#1,而我是擁有20,000名用戶的朋友,它應該返回由用戶發佈的用戶發佈的操作表中的所有條目,還需要修改以包含我自己的動作
我聽說過一些人使用某種哈希表進行快速查找會有這樣的事情嗎?
感謝所有幫助
更多有關索引的閱讀http://www.alistapart.com/articles/indexing-the -web-its-not-just-googles-business/ – 2009-07-24 00:36:21