App Engine: ¿Cuál es la manera más rápida para comprobar si mi consulta del almacén de datos devuelve ningún resultado?

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

Pregunta

Me gusta comprobar si hay algún resultado para mi consulta del almacén de datos en el almacén de datos de Google App Engine. Esta es mi consulta:

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

¿Cuál es la manera más rápida y más elegante para comprobar si mi consulta devuelve ningún resultado?

PD: Sé que una manera de hacerlo, pero estoy muy seguro si es muy eficiente ...

¿Fue útil?

Solución

Si también necesita a buscar a los resultados, la forma más eficiente es a buscar los resultados con .fetch (), y luego comprobar si la lista no está vacía. Si usted no necesita realmente los resultados, llame .count (1).

Lo que no debe .count hacer es llamar al (1) si también necesita los resultados - esto va a requerir la ejecución de la consulta dos veces

.

Otros consejos

users.count(1) es probablemente la manera más rápida de hacer esto; users.fetch(1) sería la otra manera de lograr esto, sino que requiere ir a buscar una entidad entera; dependiendo del tamaño de esa entidad que esto podría ser bastante lento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top