ВВЕДЕНИЕ В СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ


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


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

Транзакция A

Время

Транзакция B

Все правильно

S-блокировка
- успешна
---
Чтение
---
---
X-блокировка
- отвергается
---
Ожидание…
Повторное чтение
Ожидание…
Фиксация транзакции

(Блокировка снимается)

Ожидание…
---
X-блокировка
- успешна
---
Запись
---
Фиксация транзакции


(Блокировка снимается)

 

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




Начало  Назад  Вперед



Книжный магазин