FQL vs Graph API - 哪种更适合基本过滤?

Luq*_*aan 0 performance facebook facebook-fql facebook-graph-api

这是一个跟进:如何过滤Facebook图形api中的男性和女性ID

假设手头的任务是找到10个用户的女性朋友.您可以使用FQL或Graph API执行此操作(请参阅原始问题).

直观地说,我希望FQL更快,因为Facebook正在为你处理计算.但是,这一定是真的吗?

cpi*_*lko 5

我刚刚使用Graph API Explorer运行了一个快速测试(n> = 3),在API调用和下面的FQL之间交替.

此API调用:

/me/friends?fields=name,gender
Run Code Online (Sandbox Code Playgroud)

返回数据从300ms到6223ms,平均值= 1780ms.

这个FQL调用:

SELECT name, sex FROM user WHERE uid IN 
  (SELECT uid2 FROM friend WHERE uid1 = me()) AND sex = "male" LIMIT 10
Run Code Online (Sandbox Code Playgroud)

返回数据在457ms到8075ms,平均.3690ms.

因此,API调用比FQL调用快约20-30%,尽管数据不匹配,因此在任何给定时间API调用执行速度是否比FQL调用都要快得多.

通过API调用,您仍然必须处理过滤结果,以找到您正在寻找的10个性别的朋友.使用FQL,您可以立即循环遍历结果集并显示它们.

值得一提的是,如果您将FQL调用与AND已删除的内容进行比较,那么您将获得与API类似的数据,从而轻松击败API.数据以320到571毫秒返回,平均值.= 390毫秒.