Skip to content

36. Режимы блокировок и совместимость блокировок

Pandas edited this page Jan 2, 2018 · 1 revision

Режимы

Блокировка Описание
Блокировка с намерением совмещаемого доступа (IS) Защищает запрошенные или полученные совмещаемые блокировки на некоторых (но не на всех) ресурсах на более низком уровне иерархии.
Блокировка с намерением монопольного доступа (IX) Режим IX является расширенным режимом IS, кроме того, он защищает запрос на совмещаемые блокировки на ресурсах более низкого уровня.
Совмещаемая блокировка с намерением монопольного доступа (SIX) Защищает запрошенные или полученные совмещаемые блокировки на всех ресурсах более низкого уровня иерархии, а также блокировки с намерением на некоторых (но не всех) ресурсах более низкого уровня. На ресурсах верхнего уровня допускаются одновременные блокировки IS.
Блокировка с намерением обновления (IU) Защищает запрошенные или полученные блокировки обновления на всех ресурсах более низкого уровня в иерархии. Блокировки IU применяются только на страничных ресурсах.
Совмещаемая блокировка с намерением обновления (SIU) Сочетание блокировок S и IU в результате раздельного запрашивания этих блокировок и одновременного удержания их обеих.
Блокировка обновления с намерением монопольного доступа (UIX) Сочетание блокировок U и IX в результате раздельного запрашивания этих блокировок и одновременного удержания их обеих.
Блокировка обновления (U) Применяется к тем ресурсам, которые могут быть обновлены. Предотвращает возникновение распространенной формы взаимоблокировки, возникающей тогда, когда несколько сеансов считывают, блокируют и затем, возможно, обновляют ресурс.
Монопольная блокировка (Х) Используется для операций модификации данных, таких как инструкции INSERT, UPDATE или DELETE. Гарантирует, что несколько обновлений не будет выполнено одновременно для одного ресурса.
Совмещаемая блокировка (S) Используется для операций считывания, которые не меняют и не обновляют данные, такие как инструкция SELECT.

Совместимость

Совместимость блокировок определяет, могут ли несколько транзакций одновременно получить блокировку одного и того же ресурса. Если ресурс уже блокирован другой транзакцией, новая блокировка может быть предоставлена только в том случае, если режим запрошенной блокировки совместим с режимом существующей.

Запрашиваемый режим IS S U IX SIX X
Намеренная разделяемая (IS) V V V V V X
Совмещаемая блокировка (S) V V V X X X
Блокировка обновления (U) V V X X X X
С намерением монопольного доступа (IX) V X X V X X
Совмещаемая с намерением монопольного доступа (SIX) V X X X X X
Монопольная (Х) - X X X X X
Clone this wiki locally