我们想介绍一个功能,让用户通过他们的Facebook好友查看游戏结果。当他们第一次注册我们的游戏(社交登录)时,我们目前存储每个用户的Facebook uid。我们的MySQL数据库看起来是这样的:Facebook好友过滤数据库记录的最佳方式是什么?
用户
- USER_ID
- facebook_uid
结果
- USER_ID
- 得分
- 结果日期
调用Facebook Graph API,我们可以产生一个逗号分隔列表的朋友uid's。因此,通过Facebook上的朋友来过滤博弈结果的一种方法是:
- 运行使用的好友列表中User.facebook_uid领域的SQL IN子句,然后
- 联接User.user_id到Result.user_id
我们将对此进行测试,但我担心使用IN子句的性能影响(朋友列表可能为300+)。
有没有人有使用不同方法的经验?
会喜欢任何见解。谢谢。
很高兴听到IN语句查询有效地运行。感谢您的建议。我会将结果报告回此主题。 – Bitman 2011-05-27 04:25:19