On Fri, Feb 20, 2009 at 12:13 PM, pedepy <[email protected]> wrote:
> > Hi .. I just stumbed upon a NeedIndexError. I understand why it > happens, but I dont quite understand the 'motivations' behind it. > > If the development server can just generate indexes for queries as I > make them, why would that not be possible for the deployed app? My app > makes extensive use of Expando objects who's properties I cannot fully > predict. As such, the combination of all possible queries is also > almost possible to determine before hand. > > What .. am I stuck here? > App Engine needs to know which properties to index in advance so the index is ready by the time the app needs it for the query. Building a new index requires processing all entities with the indexed properties, which could be millions of entities and property values. This doesn't scale as a run-time operation. You want to manage indexes carefully because each index increases the amount of time it takes to create, update or delete an entity with a property for each of the property names mentioned in the index. Even if creating new indexes weren't a scalability concern, linear (or worse) growth in the cost of updates would be. You can have properties with names calculated at run time, but you can't perform queries on those properties without explicit index configuration uploaded with the application. -- Dan --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
