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.

Reply via email to