filtering on list properties doesn't cost any more than filtering on non-list properties. specifically, it sounds like @uprise78 was misled. queries on list properties aren't implemented as multiple separate queries under the hood. he/she might have been confusing list property queries with IN and != filters, which do fan out to multiple queries:
http://code.google.com/appengine/docs/datastore/gqlreference.html merge join is unrelated to list properties. it's a way to support multiple = filters without dedicated indexes. in a nutshell, multiple index segments are scanned in parallel and intersected. to fetch a result, each scan skips ahead to the key found by the previous scan, and so on. this avoids full table scans, which as you mention, don't scale. the important takeaway point is that the datastore generally won't let you do anything too inefficient, particularly in queries. it will either run the query, quickly, or it will ask you to build an index. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
