這是跟進爲:How to filter male and female id in Facebook graph apiFQL vs Graph API - 哪個更適合基本過濾?
假設手頭的任務是找到10個女性朋友的用戶。您可以使用FQL或Graph API執行此操作(請參閱原始問題)。
直覺上,我希望FQL要快得多,因爲Facebook正在爲您處理計算。但是,這是必然的嗎?
這是跟進爲:How to filter male and female id in Facebook graph apiFQL vs Graph API - 哪個更適合基本過濾?
假設手頭的任務是找到10個女性朋友的用戶。您可以使用FQL或Graph API執行此操作(請參閱原始問題)。
直覺上,我希望FQL要快得多,因爲Facebook正在爲您處理計算。但是,這是必然的嗎?
我剛剛使用Graph API Explorer進行了一次快速測試(n> = 3),在API調用和下面的FQL之間交替進行。
此API調用:
/me/friends?fields=name,gender
返回的數據從300毫秒至6223ms,AVG = 1780ms。
這FQL電話:
SELECT name, sex FROM user WHERE uid IN
(SELECT uid2 FROM friend WHERE uid1 = me()) AND sex = "male" LIMIT 10
返回的數據在457ms到8075ms,AVG。 3690ms。
因此,API調用比FQL調用快大約20-30%,儘管數據不匹配,因此無論API調用在任何給定時間的執行速度是否快於FQL調用。
通過API調用,您仍然必須處理結果過濾的過程,以找到10個您要查找的性別的朋友。使用FQL,您可以立即遍歷結果集並顯示它們。
如果您將FQL調用與AND
中的所有內容進行比較,那麼您將獲得與API類似的數據,從而輕鬆擊敗API。數據返回320至571毫秒,平均值。 = 390ms。
FQL爲您提供更大的靈活性,並在您嘗試批量請求時發揮很大作用。否則,響應時間或多或少會相同。 – Claudiu
由於API不允許您過濾這些結果 - 因此,您可能必須讓相當多的用戶找到10個屬於女性的性別 - 而FQL允許您按性別進行過濾並將結果限制爲10,我認爲FQL是我的方式來處理這樣的要求。 – CBroe
我認爲你的比較不公平。您需要包含按性別進行過濾所需的時間,並將其限制爲10個用戶。 – luqmaan