Введение в системы управления базами данных

         

Вставка новой строки, удовлетворяющей условию



Пример 10

Транзакция A Время Транзакция B Появились строки, которых раньше не было
S-блокировка строк, удовлетворяющих условию
Вставка новой строки, удовлетворяющей условию
.
(Заблокировано n строк)
Вставка новой строки, удовлетворяющей условию
---
Выборка строк, удовлетворяющих условию
Вставка новой строки, удовлетворяющей условию
.
(Отобрано n строк)
Вставка новой строки, удовлетворяющей условию
---
---
Вставка новой строки, удовлетворяющей условию
Вставка новой строки, удовлетворяющей условию
Вставка новой строки, удовлетворяющей условию
.
---
Вставка новой строки, удовлетворяющей условию
Фиксация транзакции
S-блокировка строк, удовлетворяющих условию
Вставка новой строки, удовлетворяющей условию
.
(Заблокировано n+1 строка)
Вставка новой строки, удовлетворяющей условию
---
Выборка строк, удовлетворяющих условию
Вставка новой строки, удовлетворяющей условию
.
(Отобрано n+1 строк)
Вставка новой строки, удовлетворяющей условию
---
Фиксация транзакции
Вставка новой строки, удовлетворяющей условию
---
 

Результат. Блокировка на уровне строк не решила проблему появления фиктивных элементов.

Содержание раздела