SAP ASE version 16.0 and later includes several enhancements to lock
management.
Spinlocks in versions of SAP ASE earlier than 16.0 occasionally result in lock
contention. SAP ASE version 16.0 reduces lock contention by optimizing the following areas:
- Engine lock transfer – Improves the transfers of locks between global pool and
engine local caches.
- Engine lock caching – Optimizes the number of locks an engine can cache locally by:
- Increasing the default engine local cache size
- Increasing the transfer size of locks from global to local caches.
- Improves lock transfers between local and global by using of blocks of
locks instead of individual locks
- Draining or reclaiming locks from local to global caches less frequently
- LOCK_VERIFY operations – Optimizes LOCK_VERIFY
operations to deploy an optimistic approach when possible and avoid taking
locks.
- Lock promotion - Tracks repeatedly failed lock promotion attempts, and disables
lock promotion for the DML statement incurring the failed lock promotion after a
number of attempts.
- Log semaphore locks - Avoids taking locks for log semaphores since only one lock
can be held by the semawait.
- Deadlock checking - Ensures that specifying a small value for the
deadlock checking period never results in a value less
than 1, and that deadlock checks are performed on a dedicated service
thread
- Hot DOL tables - Allows DOL tables to be hot tables, which alleviates high table
lock contention
These features are intended to enhance performance: you should not notice any performance
degradation when SAP ASE uses these enhancements. The lock management enhancements are
enabled by default, and you need not to perform any configuration to enable these
enhancements.