如何更快地进行SQL查询?

时间:2012-12-18 08:09:54

标签: facebook facebook-fql fql.multiquery

我正在尝试计算用户朋友使用fql创建的所有事件,但它非常慢,大约需要15到17秒才能加载。

以下是代码:

// Run FQL Multiquery to get all Friends => All Events => Created by Friends
$fql = $facebook->api('/fql?q={'
                     .'"allFriends":"SELECT+uid2+FROM+friend+WHERE+uid1=me()",' 
                     .'"allEvents":"SELECT+eid+FROM+event_member+WHERE+uid+IN+('
                                 . 'SELECT+uid2+FROM+#allFriends'
                                 . ')",'
                    .'"creators":"SELECT+creator+FROM+event+WHERE+eid+IN+(' 
                                       . 'SELECT+eid+FROM+#allEvents)"}'
                   . '&access_token='.$access_token);

是否有更好的方法可以让它更快地返回?

提前谢谢你, 罗伯特

1 个答案:

答案 0 :(得分:0)

将朋友分成相对相等的部分(使用LIMIT和OFFSET),然后在批量调用中运行所有这些多查询。