我正在尝试使用 facebook FQL 从用户的新闻提要中获取前 50 个帖子(朋友的帖子),以及每个朋友的个人资料信息。我有两个查询,总共需要 10 秒的处理时间:
SELECT actor_id, message FROM stream
WHERE filter_key IN
(SELECT filter_key FROM stream_filter WHERE uid= me() AND type='newsfeed')
AND actor_id in (SELECT uid2 FROM friend WHERE uid1 = me())
LIMIT 50
即使消息是“”,此查询也会返回用户(我找不到 NOT 运算符来过滤掉以“”作为消息的行)
第二个查询:
SELECT pic_big, name,url from profile WHERE id IN
(SELECT actor_id, message FROM stream WHERE filter_key IN
(SELECT filter_key FROM stream_filter WHERE uid= me()
AND type='newsfeed')
AND actor_id in (SELECT uid2 FROM friend WHERE uid1 = me()))
LIMIT 50
我尝试了其他方法来获取数据(更快),但是它以随机顺序返回它(facebook 不保证数据以它进入的方式出现)。
我可以在我的网站上放置一个“加载”动画,但我不想这样做,因为我认为这可以优化但我不确定如何。
过去,我使用图形 api,但我必须自己处理结果,而且效率非常低(需要 30 多秒)。