![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Проблема потери результатов обновления. Две транзакции по очереди записывают некоторые данные в одну и ту же строку и фиксируют изменения. Время Транзакция A Транзакция B
Две транзакции по очереди записывают некоторые данные в одну и ту же строку и фиксируют изменения.
Обе транзакции успешно накладывают S-блокировки и читают объект Результат. Обе транзакции ожидают друг друга и не могут продолжаться. Возникла ситуация тупика (взаимоблокировки). Проблема незафиксированной зависимости (чтение " грязных" данных) Транзакция B изменяет данные в строке. После этого транзакция A читает измененные данные и работает с ними. Транзакция B откатывается и восстанавливает старые данные.
Результат. Транзакция A притормозилась до окончания (отката) транзакции B. После этого транзакция A продолжила работу в обычном режиме и работала с правильными данными. Конфликт разрешен за счет некоторого увеличения времени работы транзакции A (потрачено время на ожидание снятия блокировки транзакцией B).
|