- 论坛徽章:
- 0
|
It means that the corresponding spid was waiting to acquire a latch on a particular datapage and is being blocked by another spid. A latch is similar to a lock. But, latches are of extremely short duration.
Information on Latches:
===================
Latches are nontransactional synchronization mechanisms used to guarantee the physical consistency of a page. While rows are being inserted, updated or deleted, only one Adaptive Server process can have access to the page at the same time. Otherwise, changes could overwrite each other. Latches are used for both datapages and datarows locking. They are not used for changes to tables using the allpages locking scheme.
The most important distinction between a lock and a latch is the duration:
A lock can persist for a long period of time: while a page is being scanned, for the duration of a statement, or for the duration of a transaction.
A latch is held only for the time required to insert or move a few bytes on a data page, to copy pointers, columns or rows, or to acquire a latch on another index page.
In datarows locking, row-level locks are acquired on individual rows on data pages. Index rows and pages are not locked. When a row needs to be changed on a data page, a nontransactional latch is acquired on the page. The latch is held while the physical change is made to the data page, and then the latch is released. The lock on the data row is held until the end of the transaction. The index rows are updated, using latches on the page, but are not locked. Index entries are implicitly locked by acquiring a lock on the data row. |
|