我想知道如何在我的數據庫上最好地實現「最受歡迎的」功能(如youtube)。「最受歡迎」功能數據庫的實現
讓我來解釋一下「最多觀看」功能更好一點: 基本上我想列出從這天/周/月訪問最多的網頁/視頻/等,見 http://www.youtube.com/charts/videos_views爲例。
所以我想知道如何最好地實現這個功能,因爲我可以想到許多方法,但他們都有他們的+和 - 。
另外我也很想聽到各種程序員對其他程序員的想法的評論。另外我想就這個話題開始一個很好的對話。
Ps。我特別關注如何計算時間,比如在本月最受關注的時間,沒有一個巨大的表格用日期時間保存每一個視圖。任何想法是受歡迎的。
Pps。我使用Mysql和PHP,這兩個額外提示非常受歡迎。
是的,這是一個簡單的想法,但你最終有一個巨大的表格,例如說,如果我有1個億頁,每個頁面都有類似10K的觀點則1mx10k = 100億行。現在想象一下計算每一行的時間,以獲得本月最多的觀看次數。我只需要一整臺服務器,肯定會有一個更簡單的方法。 – StfnoPad 2010-09-01 10:37:33
我認爲重點是你只爲新的頁面/項目做一個插入。在那之後,你只需增加計數器 - 所以你只能得到'x'行 - 其中'x'是查看的項目數。如果你有100萬個物品,但只有10K個物品,你只能有10K個物品,甚至沒有物品。進一步節省。一個好主意和我想在我的解決方案中實現的東西。 – 2010-09-01 10:45:17
是的,但如果你只有一個計數器,那麼你不能計算本週最多觀看,因爲你沒有日期和時間信息。我確信必須有一種簡單的方法,否則我不知道YouTube視頻是如何處理它們的視頻和視頻的。總之,很多謝謝你們。 – StfnoPad 2010-09-01 11:04:04