Comparison of identity burning set factor and identity_gap

The identity_gap parameter controls the size of identity gaps for a particular table.

For example, if you create a table named books that includes all the books in a bookstore, each book must have a unique ID number, which Adaptive Server automatically generates. books includes an IDENTITY column that uses the default numeric value of (18, 0), providing a total of 999,999,999,999,999,999 ID numbers. The identity burning set factor configuration parameter uses the default setting of 5000 (.05 percent of 999,999,999,999,999,999), which means that Adaptive Server allocates blocks of 500,000,000,000,000 numbers.

The server allocates the first 500,000,000,000,000 numbers in memory and stores the highest number of the block (500,000,000,000,000) on the table’s OAM page. When all the numbers are assigned to rows or burned, Adaptive Server takes the next block of numbers (the next 500,000,000,000,000), starting with 500,000,000,000,001, and stores the number 1,000,000,000,000,000 as the highest number of the block.

If the server fails after row number 500,000,000,000,022, only numbers 1 through 500,000,000,000,022 were used as ID numbers for books. Numbers 500,000,000,000,023 through 1,000,000,000,000,000 are burned. When Adaptive Server starts again, it creates ID numbers starting from the highest number stored on the table’s OAM page plus one (1,000,000,000,000,001), which leaves a gap of 499,999,999,999,978 ID numbers.