Facebook朋友过滤数据库记录的最佳方法是什么?

| 我们想引入一项功能,使用户可以通过其Facebook朋友查看游戏结果。当前,当每个用户首​​次注册我们的游戏时(社会登录),我们都会存储它们的facebook uid。我们的MySQL DB看起来像这样: 用户 用户身份 facebook_uid 结果 用户身份 得分了 结果日期 调用Facebook Graph API,我们可以生成一个以逗号分隔的列表好友uid。因此,通过Facebook朋友过滤游戏结果的一种方法是: 使用朋友列表在User.facebook_uid字段上运行sql IN子句,然后 将User.user_id加入Result.user_id 我们将对此进行测试,但是我担心使用IN子句对性能的影响(朋友列表可以超过300个)。 是否有人有使用其他方法的经验? 将享受任何见解。谢谢。     
已邀请:
我从不在数据库中使用user_id。尽管它很可能是int(5)-意味着速度更快,但是拥有两个id只是令人困惑,您可能会遇到类似这样的问题。 以我开发Facebook应用程序的经验(现在大约一年半),我从来没有遇到过使用IN语句的问题,查询总是很快。只要您具有良好的数据库架构和良好的PHP代码,就可以了。毕竟还是排行榜。 您还可以通过AJAX调用加载该信息,这样用户就不会因为长时间的SQL查询而遭受延迟。 另一种选择是将每个用户的朋友存储在您每次更新的查找表中,但是可能有点不准确,为此我认为这太费力了。     

要回复问题请先登录注册