App Engine:检查我的数据存储区查询是否返回任何结果的最快方法是什么?

时间:2009-11-02 13:46:09

标签: python google-app-engine google-cloud-datastore

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

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

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

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

2 个答案:

答案 0 :(得分:4)

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

如果你还需要结果,你不应做的是调用.count(1) - 这将需要执行两次查询。

答案 1 :(得分:2)

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