2008-12-11 59 views
1

什麼是處理多對多觸發關係的最佳方式,比如Twitter「跟隨這個用戶」的問題。Twitter類似「跟隨用戶」和「看這個」問題

我有類似的問題,用戶「看」線程的答覆。如果有10,000個用戶在觀看線索,並有人回覆,那麼如何最好地通知觀察者?我所能想到的是:

一旦插入,檢查任何線程匹配此線程的ID「監視表」[字段:user_id,thread_id]。這是我需要通知的用戶列表。對於需要通知的每個用戶,在「通知表」中插入一行[字段:user_id,消息,附件等]。現在我可以通過此表向任何用戶顯示他們的通知。

問題是,這聽起來非常非常昂貴。特別是10,000個插入部分。

必須有更好的方法來做到這一點......想法?

回答

3

在您的監視表中,您可以添加一個last_updated字段並設置更新觀看線程的時間。還要爲last_notified添加一個字段,當您通知用戶時設置此字段,您將知道如果last_updated > last_notified需要通知用戶。當您決定需要通知用戶時,只需向他們展示post_date >= last_updated的線程中的所有消息。

+0

該死的,寫了同樣的想法:) – 2008-12-11 06:45:24

相關問題