Google App Engine データストアにデータストア クエリの結果があるかどうかを確認したいと考えています。これは私のクエリです:
users = User.all()
users.filter("hash =", current_user_hash)
クエリが結果を返すかどうかを確認する最も速くてエレガントな方法は何ですか?
PS:私はそうする方法を知っていますが、それが非常に効率的かどうかは非常にわかりません...
Google App Engine データストアにデータストア クエリの結果があるかどうかを確認したいと考えています。これは私のクエリです:
users = User.all()
users.filter("hash =", current_user_hash)
クエリが結果を返すかどうかを確認する最も速くてエレガントな方法は何ですか?
PS:私はそうする方法を知っていますが、それが非常に効率的かどうかは非常にわかりません...
結果もフェッチする必要がある場合、最も効率的な方法は、.fetch()を使用して結果をフェッチし、リストが空でないかどうかを確認することです。実際に結果が必要ない場合は、.count(1)を呼び出します。
結果も必要な場合は、.count(1)を呼び出す必要があります。これには、クエリを2回実行する必要があります。
users.count(1)
おそらくこれを行う最速の方法です。users.fetch(1)
これを達成するには別の方法ですが、エンティティ全体を取得する必要があります。そのエンティティのサイズによっては、これはかなり遅くなる可能性があります。