2 votes

comment implémenter ceci dans GQL (Google Query Language)

Dans MySQL, c'est comme :

select * from table1 where column1 in ('a', 'b', 'c') ;

Comment faire cela en GQL ?

5voto

Itay Moav -Malimovka Points 17977

4voto

AutomatedTester Points 14713

Vous pouvez utiliser l'un des éléments suivants

  result = db.GqlQuery("Select __key__ from model where column in ('a','b','c')")

o

   result = db.GqlQuery("Select * from model where column in ('a','b','c')")

L'appel avec la touche _ _ _ est beaucoup plus efficace que l'appel * sur l'appengine. Il utilise moins d'appels au datastore et moins de CPU pour le faire.

1voto

Nick Johnson Points 79909

Exactement comme vous l'avez décrit, cela fonctionne bien - mais attention, les requêtes IN sont implémentées dans l'API Python, et se traduisent par de multiples requêtes sur le datastore sous-jacent. S'il existe un autre moyen de récupérer les données, je vous recommande vivement de l'utiliser à la place.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X