by Unpin

“Unpinning” occurs when two transactions attempt to update the same data page, causing the second transaction to flush the first transaction’s user log cache, unpinning the data page from the first transaction’s ULC.

Adaptive Server typically uses row-level locking for increased concurrency, since both transactions are trying to update the same page.

Unpinning occurs when:

  1. Transaction T1 updates row R1.

  2. Adaptive Server logs the update in P1’s ULC, ensuring that this data page is pinned to T1’s ULC.

  3. When T2 tries to update a different row on page P1, it finds that this page is pinned to T1’s ULC.

  4. To update the page, T2 flushes T1’s ULC, unpinning the data page.

To reduce the number of unpins: