The way I understand this (maybe a googler can correct me if I'm wrong): A query on an index walks the index bigtable getting keys, then makes separate fetches to the main data bigtable to get the entity data. Each entity could live in a different tablet so there might be a lot of RPCs and a lot of different servers involved.
A kindless ancestor query (and filtering on __key__ in general) doesn't use the separate index table - it walks the main data bigtable itself and the full data records are right there in sequence. This is analogous to a clustered index in an RDBMS, and should be really fast. So if you have a big chunk of related data that you want to store in component parts (as opposed to embedded in a single entity) but you need to pull up at once, give them a single common parent and use a kindless ancestor query to suck it all in. And then post performance metrics here because I haven't tried this and I'm really curious to know if it makes a big difference :-) Jeff On Mon, Nov 21, 2011 at 10:31 PM, GordonHo <[email protected]> wrote: > i am having sort of the same problem. > > i need to catch about 4000 entries for a specific frontend user - i could > split up the query, but it is really a slow thing unless i am using > memcache (which i haven't implemented for real). > > my experience is about 50 seconds for all 4000 entries. this does not > involve any ancestors, or filtering. only ordering by an index. > > cheers > gordon > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/google-appengine/-/nH5CMYqe4PIJ. > > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/google-appengine?hl=en. > -- I am the 20% -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
