我们使用GAE w Java和JDO 2.3。 有没有办法按照创建顺序对JDO查询的实体进行排序? 我认为如果我们使用索引列而不是时间戳,它将提高性能。是不是?
答案 0 :(得分:1)
您不能依赖数据存储区服务连续分配ID。
但您可以将时间戳设置为键名的一部分,或使用DatastoreService.allocateIds
分配连续的ID范围,以确保您的键单调增加。
然后,您应该可以使用KEY_RESERVED_PROPERTY
对实体键进行排序。
与索引时间戳属性相比,如果要查询完整实体,则可以保存其他索引查找,但key only
查询没有区别。
请注意,降序排序将需要App Engine JDO Query documentation
中所述的其他索引如果您对具有单调键或索引的实体具有高写入吞吐量,请注意hot tablet问题。
答案 1 :(得分:1)
如果您正在对单个时间戳列进行查询和排序,则appengine将为您创建索引,查询将非常快。