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






