gpt4 book ai didi

facebook - 图形 API 与 FQL 哪个更快?

转载 作者:行者123 更新时间:2023-11-30 05:21:01 27 4
gpt4 key购买 nike

只是想知道什么时候只有基本的 GET/POST。(即像获取用户个人资料这样简单的事情,而不是像从每个相册中获取图片这样复杂的事情)

哪个更快?图或 FQL。

我知道 FQL 比图形更新,但不确定它是否更有效。

最佳答案

这绝对不是这样的。虽然您可以从两者获得相同的数据(在某些情况下)他们的意图完全不同:FQL 是一种查询语言,Graph 是一种 API。

如果使用新的 JS SDK 调用 FQL 查询本身就是一个 Graph API 调用...

您可以(并且可能应该,如果您担心实际比较而不是理论上的推测)比较返回相同数据的调用的速度,但您应该考虑一些事情:

  • Graph API 在 数据过滤条件和 数据聚合方面仍然很糟糕
  • FQL 无法为您提供当今应用程序所需的太多功能(例如 Real-Time updates)
  • Graph API 有能力 batch调用,这可能会大大加快速度,这也可用于调用 fql.query 和 fql.multiquery(以有点麻烦的方式)。
  • Graph API 在数据过滤方面表现出色 Field Expansion

考虑以下来自 FQL documentation 的示例,获取活跃用户和 friend 的所有用户信息的子查询:

SELECT uid, name, pic_square FROM user WHERE uid = me()
OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

这根本不可能通过单个图形 API 调用来实现。 (请参阅更新)

一旦您定义了所需的数据子集,您就可以根据您的要求选择合适的检索方法。

顺便说一句,FQL 比 Graph 老得多,我们把它放在 FBML (rip) 和 FBJS (rip) 旁边

更新:

Graph APIBatch Requests提供途径并指定请求中操作之间的依赖关系。例如,与上面相同的示例可以在对 Graph API 的一次调用中实现

POST https://graph.facebook.com/
POST Data:
batch=[
{
"method": "GET",
"name" : "get-friends",
"relative_url": "me/friends?fields=id",
},
{
"method": "GET",
"relative_url": "?ids={result=get-friends:$.data.*.id}&fields=id,name,picture"
}
]

更新 2:
自 2012 年 8 月 30 日起,图形 API 也得到支持 Field Expansion作为额外的(非常强大的)数据检索机制(包括嵌套数据)

关于facebook - 图形 API 与 FQL 哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7641925/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com