Your query will probably fetch more then 25 Action objects. Fetching
all those Keys is fast. Fetching all the complete objects is slow, you
fetch a lot more then you need.

If you iterate over the GQL query, no fetch, that requests full Action
objects (SELECT * FROM ACTION.......), the objects will be fetched in
batches of 20. You then only fetch a few more objects then needed.

Performing XX_multi operations on the memcache will also help reduce
the response time.

2009/8/23 bvelasquez <bvelasq...@gmail.com>:
>
> http://pastie.org/592489
>
> If you can help me answer this question, I would appreciate it.
>
> The above code takes the following ~ time: 1370ms 1725cpu_ms
> 670api_cpu_ms.
>
> Changing the query to return the Actions bumps it up to : 2311ms
> 3050cpu_ms 1018api_cpu_ms
>
> Changing the Action.get() to use the list of Keys from the SELECT
> takes ~ 2000cpu_ms.
>
> I was surprised that doing an individual get on each key was faster
> than passing the array into get or returning the actions with the
> query.
>
> What are your suggestions for optimizing this, if anything is
> obviously wrong or maybe there is another way completely for achieving
> the same results, which my limited experience is not telling me.
>
> A couple notes.  Project is a ReferenceProperty in Action.  I'm
> getting the key and pulling that from memcache if it is available.
>
> I'm breaking on count >= 25 because I only want 25 results where the
> Actions project is active and not deleted.  I cannot limit the fetch
> on 25 because those 25 might be in an inactive Project.
>
> Thanks!

--~--~---------~--~----~------------~-------~--~----~
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-appengine@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