php - Facebook FQL——非常慢

标签 php facebook facebook-graph-api

$access_token = $facebook->getAccessToken();
$query = "SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me())";
$query = urlencode($query);
$fql_query_url = 'https://graph.facebook.com/'. 'fql?q='.$query. '&access_token=' .    $access_token;
$fql_query_result = file_get_contents($fql_query_url);
$fql_query_obj = json_decode($fql_query_result, true);

这是查询。它对我来说更快,因为我的 friend 有限。但是一些应用程序用户说,如果他们有大约 2000 多个 friend ,这对他们来说会非常非常慢。他们说也需要 30 秒到几分钟。

为什么它很慢?这个请求有没有错误?

最佳答案

好吧,首先 - 只要您按 uid 过滤用户,然后只选择 uid - 外部查询看起来是多余的。所以最终的查询可以简化为

SELECT uid2 FROM friend WHERE uid1=me()

第二件事:使用fb php sdk 执行FQL 查询更方便一些,而不是file_get_contents,例如:

$facebook->api("/fql?q={$fql}");

(取自https://stackoverflow.com/a/7827550/251311)

关于php - Facebook FQL——非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11499622/

相关文章:

android - React Native FBSDK 无效的 key 散列。 Keyhash 已添加到 developer.facebook 并且应用程序已上线

php - Facebook 通知 API : "This method must be called with an app access_token"

php - 插入查询-存储时间

javascript - Facebook 如何在 Chrome 和 Firefox 中重写 URL?

php - ffmpeg 从执行的命令行运行,从 mod_fcgid 完成后截断

ruby-on-rails - 如何捕获 Koala::Facebook::APIError OAuthException 或用户密码重置

PHP查找多维数组的数组索引键更新数组

facebook - 如何根据帖子创建 Facebook 广告?

php - 您的 PHP MySQL 库版本与您的 MySQL 服务器版本不同

php - 无法在 php 中使用变量 'insert into'