Hi, We have found some extremely undesirable behaviour when using RelStorage with Oracle RAC in the interaction of ZOID_SEQ with various Oracle tuning parameters such as the CACHE value and ORDER/NOORDER. What we are considering is dropping use of ZOID_SEQ entirely and simply reverting to "SELECT MAX(zoid) FROM object_state". Because the existing code optimistically pre-allocates OIDs anyway based on the last value of ZOID_SEQ, we see this as being a huge win in eliminating calls to the database. Because Oracle automatically generates an index when PRIMARY KEY is set, the calls to MAX(zoid) are very fast when we have tested them.
Questions: * What downsides can the audience here anticipate? * What are the chances that a change like this could make it in to the core RelStorage distribution? * Any other considerations that anyone can comment on? regards, Darryl Dixon Winterhouse Consulting Ltd http://www.winterhouseconsultign.com _______________________________________________ For more information about ZODB, see http://zodb.org/ ZODB-Dev mailing list - ZODB-Dev@zope.org https://mail.zope.org/mailman/listinfo/zodb-dev