【问题标题】:read data from datastore从数据存储中读取数据
【发布时间】:2012-03-07 15:44:02
【问题描述】:

我有两个实体:User(id, name, groupId) 和 Group(id, title)。我想在我的网格中显示所有用户:|id|name|group title|。让用户获得组标题的最佳方式是什么? (使用低级 API 且没有反规范化)

【问题讨论】:

    标签: google-app-engine google-cloud-datastore


    【解决方案1】:

    无需反规范化或更改模型定义,实际上只有一种方法:获取所有用户,创建一组他们的 groupId,然后使用查询来获取 Group 实体。不幸的是,您的系统无法很好地扩展,因为这种方法不能很好地利用数据存储。

    为了提高性能和可扩展性,您可以做的一件事是存储组实体的实际数据存储 ID,然后使用 Group.get_by_id() 一次获取所有实体,而不是作为单独的查询。这利用了 get_by_id()(如 get_by_key_name() 比查询实体值更快,您还可以通过一次调用请求所有 id 的事实,显着减少了 AppEngine 需要完成的工作量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-14
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 1970-01-01
      • 2016-03-16
      • 2011-12-21
      • 1970-01-01
      相关资源
      最近更新 更多