0

我想检查 Google App Engine 数据存储区中的数据存储区查询是否有任何结果。这是我的查询:

users = User.all()
users.filter("hash =", current_user_hash)

检查我的查询是否返回任何结果的最快和最优雅的方法是什么?

PS:我知道这样做的方法,但我不确定它是否非常有效......

4

2 回答 2

4

如果您还需要获取结果,最有效的方法是使用 .fetch() 获取结果,然后检查列表是否为非空。如果您实际上不需要结果,请调用 .count(1)。

如果您还需要结果,则不应调用 .count(1) - 这需要执行两次查询。

于 2009-11-02T15:09:58.160 回答
2

users.count(1)可能是最快的方法;users.fetch(1)将是实现此目的的另一种方法,但需要获取整个实体;根据该实体的大小,这可能会相当慢。

于 2009-11-02T14:16:51.787 回答