GAE / J中的投影查询具有性能增益

时间:2015-04-21 14:26:25

标签: java google-app-engine jdo datanucleus query-performance

Here它说

  

投影查询允许您在较低位置查询数据存储区....   延迟和成本比检索整个实体。

但是here它说

  

[使用JDO,我猜,]这不会带来性能提升

那么,我们是否必须使用数据存储区的低级Java API才能获得性能提升?

1 个答案:

答案 0 :(得分:1)

App Engine以两种方式存储数据:索引属性存储在索引中,然后整个实体单独存储,因此可以使用get轻松检索。因此,如果您需要访问未编入索引的属性,则除了检索整个实体之外别无选择。

但是,如果您只需要几个索引字段,则投影查询将直接从索引数据返回这些属性,而无需获取实体本身,这显然可以显着提高性能,因为额外的步骤已完全消除并且返回的数据更少。