Google App Engine 大型 IN 子句查询

发布于 2024-11-28 10:22:37 字数 258 浏览 2 评论 0原文

我有一个拥有 facebook id 的帐户实体。

有时,客户端可能会将所有 Facebook id(客户端的 Facebook 好友)发送到服务器。

我们想要选择客户提供的 Facebook ID 中的所有帐户。

考虑到人们可能有 1000 多个朋友,在每个 facebook id 上循环和调用 get 似乎相当慢。此外,GAE 限制为 30 个带有 IN 子句的查询。

有人有过类似的情况吗?你是怎么处理的?

谢谢!

I have an Account entity that has a facebook id.

Sometimes, the client might send all facebook ids (the clients facebook friends) to the server.

We want to select all Accounts IN the facebook ids the client provided.

Looping and calling get on each facebook id seems rather slow, considering people might have 1000+ friends. Further more, GAE is limited to 30 queries with IN clause.

Has anyone had a similar situation? How did you handle it?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

初心 2024-12-05 10:22:37

您可以设置一个模型,使用 facebook ID 作为密钥,以便您使用模型。 get_by_key_name(key_names=fb_ids) 一次性获取带有 fb_ids 中键的所有模型。

例如

class FBModel(db.Model):
   account = db.ReferenceProperty(reference_class=Account)

创建模型时:

model = FBModel(key_name=fb_id)

You can set up a model that uses the facebook ID as a key which allows you to use Model. get_by_key_name(key_names=fb_ids) to fetch all the models with keys in fb_ids at once.

e.g.

class FBModel(db.Model):
   account = db.ReferenceProperty(reference_class=Account)

When creating the model:

model = FBModel(key_name=fb_id)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文