存储facebook的朋友 - 超时 - mysql数据库

时间:2012-06-23 21:58:25

标签: mysql facebook facebook-fql

我正在处理一个简单的Facebook应用程序,我正在存储:

Facebook好友ID

表格结构:

表名:facebook_mapping 值:

app_id                fb_id
1               100003996070108
2               100003960002436
3               100003955972927
4               100003955972924

使用fql查询:

SELECT uid2 FROM friend WHERE uid1=FACEBOOK_USER_ID

这适用于200以下的朋友。但如果用户有超过200个朋友,当我第一次运行应用程序页面时,它总是超时。我认为它需要超过30秒,我的服务器有一个限制,它将在30秒后超时。

我正在使用PHP& MySQL的。我认为一个解决方案是:

1)首先只吸引该用户的20位朋友并将其添加到数据库中 2)运行后台进程以收集其他朋友

请帮我设置一个后台流程以收集朋友或其他方法来执行此操作。

感谢。

2 个答案:

答案 0 :(得分:3)

如果您的 PHP脚本在插入数据时超时(而不是API请求本身) - 那么您是如何将数据添加到表中的?< / p>

你是在PHP循环中的数据库中发出200多个单独的INSERT语句吗?

如果是这种情况,请尝试将所有数据(或更大的数据块)放入多行INSERT语句中,格式为

INSERT INTO table (column1, column2)
  VALUES (1, '100003996070108'), (2, '100003960002436'), (…)

这应该有助于防止PHP脚本超时,因为您不必对数据库进行如此多的单独查询。

答案 1 :(得分:2)

这似乎不是Facebook API的问题,只是您在我们的服务器上配置的超时。后台主题​​思路很好。