App Engine: Was ist der schnellste Weg, um zu überprüfen, ob meine Datenspeicher -Abfrage ein Ergebnis zurückgibt?

StackOverflow https://stackoverflow.com/questions/1661421

Frage

Ich möchte überprüfen, ob es ein Ergebnis für meine Datenspeicherabfrage im Google App Engine -DataStore gibt. Das ist meine Frage:

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

Was ist der schnellste und eleganteste Weg, um zu überprüfen, ob meine Abfrage ein Ergebnis zurückgibt?

PS: Ich weiß, dass es einen Weg ist, aber ich bin mir sehr nicht sicher, ob es sehr effizient ist ...

War es hilfreich?

Lösung

Wenn Sie auch die Ergebnisse abrufen müssen, besteht der effizienteste Weg darin, die Ergebnisse mit .Fetch () abzurufen und dann zu überprüfen, ob die Liste nicht leer ist. Wenn Sie die Ergebnisse nicht benötigen, rufen Sie .Count (1) an.

Was du sollte nicht TO IS CALL .COUNT (1) Wenn Sie auch die Ergebnisse benötigen, muss die Abfrage zweimal ausgeführt werden.

Andere Tipps

users.count(1) ist wahrscheinlich der schnellste Weg, dies zu tun; users.fetch(1) wäre der andere Weg, dies zu erreichen, erfordert jedoch eine ganze Entität; Abhängig von der Größe dieser Entität könnte dies ziemlich langsam sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top