-So are textProperties more efficient than StringProperties because they're not indexed?
You'd have to find the talk from Google IO to be sure. I believe it was the one about scalability, in the QA section. But yes, that is my understanding. As I understand it, every field that's not a TextProperty or a BlobProperty are implicitly indexed (this is how all = conditions are dealt with in queries). So, whenever you write such an object, it will take longer (because of the index updates). Another way of thinking about it, is that if you never need to query on a single value, make it a TextProperty or BlobProperty, if possible. -Wouldn't adding etag--while increasing efficiency if I have the same users loading the same image again and again--actually decrease efficiency for users who are opening up an thumbnail for the first time? In that situation, I'd have another column for etags in my datastore being requested w/ every query. Yes, you absolutely should generate the etag when you save the thumbnail, and save it in the model itself. Caching it separately is however still desirable as you can then avoid pulling the rest of the data into memory if it's not needed, or you can opt to not cache the rest of the data at all, instead only caching the etag, to be more cache friendly. A quick and easy hack for this is to generate the etag before creating the Thumbnail model instance - and use that etag as the named key. Then, you can do lookup and caching based on the etag alone, where that makes sense. Unless you have some specific meaning in your ID already, this should simplify the "how to deal with etags" question quite a bit. --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---