I'm trying to perform a query on multiple properties of an entity, as
well as a key range.  I have been testing the system with only 1 or 2
properties, and a key range on some of the queries.  The time for the
queries seem to be very dependent on whether or not there is a key
range when using a composite index.  I've been timing the queries,
here are some typical times. All queries have a limit of 200.

Select __key__ from indexClass WHERE A = :a
returned 200 objects in 59 ms

Select __key__ from indexClass WHERE A = :a' AND __key__ >= :minKey
AND __key__ <= :maxKey
returned 200 objects in 61 ms

This seems normal, but when i add a second field, the following
happens:
Note that i have an index built with status 'Serving' on properties A
and B

Select __key__ from indexClass WHERE A = :a' AND B = :b
returned 91 objects in 37ms

Select __key__ from indexClass WHERE A = :a' AND B = :b AND __key__
>= :minKey AND __key__ <= :maxKey
returned 29 objects in 440ms

To ensure that the index is built and working properly, i ran the
query:
Select __key__ from indexClass WHERE A = :a' AND B = :b ORDER BY A
which works correctly, so I don't think appengine could be performing
a merge-join here.

Any ideas why the last query is slow?  I could always add a field for
the keyName and index that to be used for key range queries, but I
don't think I should have to.

Thanks,
Nick

--

You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.


Reply via email to