How Sybase IQ Tracks Versions

Sybase IQ assigns a version identifier to each database object that exists in the metadata, and that has a life span beyond a single command.

IQ uses these version identifiers to ensure that writes to any database object are always based on the latest version of the object. It keeps each active version of a database object on disk.

When an older version is no longer needed by active transactions, Sybase IQ removes it from the cache. A version is needed until the transactions using it do one of the following:

In addition, for non-multiplex databases, Sybase IQ recognizes when no other transaction can use a particular version of a table and frees that space sooner than waiting for the oldest active transaction to commit or roll back. You are most likely to benefit from this feature if you are doing large numbers of small inserts, deletes, and updates.

Related concepts
Savepoints Within Transactions