2011-06-12 69 views
1

在您看來,Facebook如何計算共同朋友?Facebook如何計算共同朋友?

是否爲每個用戶緩存了所有共同朋友? 讓MySQL通過查詢計算? 對數據庫進行查詢,然後計算列表? 其他?

+2

他們不會告訴我們這樣的東西......但你的MySQL計算似乎更有可能。 – 2011-06-12 16:33:38

+0

可能的重複[想知道Facebook如何做'共同朋友'功能](http://stackoverflow.com/questions/2536891/wondering-how-facebook-does-the-mutual-friends-feature) – 2011-06-12 16:34:02

+0

也許這個問題是更適合http://programmers.stackexchange.com – cbrandolino 2011-06-12 16:34:50

回答

2

我相信它是預先計算的,並且在加載頁面時沒有完成。 如何?有幾個選項可以看到這個問題。 一個常用的方法是將數據看作一個圖,其中每個人都是頂點,而邊則定義了友誼。遍歷每個現有的一對人,並找到兩條邊路徑。你過去的頂點是共同的朋友。如果你真的想進入它,我會建議從開始學習Graph Theory

當處理這樣的數據量時,使用MySql和查詢將不起作用。在少量的數據上,它會。