Versioning in ArcGIS performance improvments

Idea created by DTruffetesriaustralia-com-au-esridist Employee on Dec 5, 2010

    Versioning within ArcGIS is achieved by the addition of two extra tables A# and D# that maintain all adds/deletes since the last compress.


    These tables are in addition to the base table holds the state of data as at last compress.


    Obtaining the current version requires obtaining the base data and then applying all adds and deletes held in the A# and D# tables.


    The addition of versioning adds significant overheads in obtaining the 'current default version' and as time passes and the A# and D# grow the cost to obtain the current default version increases.


    The compress operation can be used to apply changes from the A# and D# to the base table and then delete these from the A# and D# tables, but can result in the loss of some versioning history.


    If versioning was changed so that the base table held the 'current default version' and A# and D# tables contained uncommitted changes and the rollback information of passed changes, versioning would add no over head in obtaining 'current default version'.


    Also rollback records in the A# and D# tables could be progressively deleted as their age passed a given limit without loss of more recent rollback/versioning information.