Проблема несовместимого анализа

Неповторяемое считывание

Транзакция A дважды читает одну и ту же строку. Между этими чтениями вклинивается транзакция B, которая изменяет значения в строке.

Время Транзакция A Транзакция B
S-блокировка - доступна ---
Чтение ---
--- X-блокировка - недоступна
--- Ожидание…
Повторное чтение Ожидание…
COMMIT (Блокировка снимается) Ожидание…
--- X-блокировка - доступна
--- Запись
--- COMMIT (Блокировка снимается)
  Все правильно  

Результат. Транзакция B притормозилась до окончания транзакции A. В результате транзакция A дважды читает одни и те же данные правильно. После окончания транзакции A, транзакция B продолжила работу в обычном режиме.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: