、私は、ユーザーの全体の友達リストを通る機能を持っているはどのように私はFQL MuliQuery
を通じて声明「の」ソートの実行することができ、その後、各友人の最後のステータスのポストをのを拾います。今、1500人以上の友人や300人以上の人がいれば、すぐに幹部になるまでに時間がかかります。私。 100人の友人を走らせることはおよそかかります。 65秒。
これは、MultiQueryを使用してバッチとして機能すると考えていました。ここでは基本的な考え方です:
$mq = array(
"query1"=>"SELECT uid2 FROM friend WHERE uid1 = me() LIMIT 5",
"query2"=>"SELECT actor_id, message, created_time, permalink FROM stream WHERE source_id IN (SELECT uid2 FROM #query1) AND actor_id IN (SELECT uid2 FROM #query1)"
);
だから、これは実際にはしかしquery2
出力のすべてのユーザーのニュースフィード、素晴らしい作品。私が"LIMIT 1"
に設定した場合、そのセットはquery2
全体が1人の出力ではなく1つの出力に制限されます。
ご意見やご提案をいただければ幸いです。