Hi Alfred, Sorry for bringing this old topic back, I am also confused by the number showed in the dev_appserver.
I think you meant 1 op for the entity 2x2 = 4 ops for each changed index value (1 remove, 1 add and two directions) My question is, do we need to do checks before calling put() to make sure it won't update all fields and their indices? For example, do we need to do something like below? s = Sample.all().get()[0] changed = False if s.field1 != field1_new_value: s.field1 = field1_new_value changed = True if s.field2 != field2_new_value: s.field2 = field2_new_value changed = True if s.field3 != field3_new_value: s.field3 = field3_new_value changed = True if changed: s.put() Or we can just do below. s = Sample.all().get()[0] s.field1 = field1_new_value s.field2 = field2_new_value s.field3 = field3_new_value s.put() And datastore will check which fields were changed, only update those fields and their indices? On Saturday, September 24, 2011 1:00:44 PM UTC-7, Alfred Fuller wrote: > > Yes, the write ops for changing an entity depends on how many indexed > properties you change. It is: > 1 op for the entity > 2 ops for each changed index value (1 to remove the old value and 1 to add > the new) > > Since it is not a fixed value and depends on what you actually modify, we > do not (can not) show it in the dev_appserver's Datastore Viewer. > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/aqIb5sFqOfsJ. 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.
