2012-03-07 91 views
0

我有两个实体:用户(id,名称,groupId)和组(id,title)。我想在我的网格中显示所有用户:| id | name |组标题|。使用组标题的用户的最佳方式是什么? (使用低级别的API并且不需要反规范化)从数据存储读取数据

回答

0

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

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

相关问题