按查询的顺序对创建的时间戳进行排序。 GAE / J

时间:2012-08-21 14:25:57

标签: google-app-engine jdo datanucleus

我们使用GAE w Java和JDO 2.3。 有没有办法按照创建顺序对JDO查询的实体进行排序? 我认为如果我们使用索引列而不是时间戳,它将提高性能。是不是?

2 个答案:

答案 0 :(得分:1)

您不能依赖数据存储区服务连续分配ID。

但您可以将时间戳设置为键名的一部分,或使用DatastoreService.allocateIds分配连续的ID范围,以确保您的键单调增加。

然后,您应该可以使用KEY_RESERVED_PROPERTY对实体键进行排序。

与索引时间戳属性相比,如果要查询完整实体,则可以保存其他索引查找,但key only查询没有区别。

请注意,降序排序将需要App Engine JDO Query documentation

中所述的其他索引

如果您对具有单调键或索引的实体具有高写入吞吐量,请注意hot tablet问题。

答案 1 :(得分:1)

如果您正在对单个时间戳列进行查询和排序,则appengine将为您创建索引,查询将非常快。