На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Разработка баз данных / Что такое - Dirty Read, Committed Read, Repeatable Read Сделать домашней страницей Добавить в избранное Написать писмо

Что такое - Dirty Read, Committed Read, Repeatable Read



Dirty Read - Простейший уровень изоляции. Когда программа выбирает строки, то не ставит своих блокировок и не обращает внимания на чужие; она просто копирует строки из базы, невзирая на то, что делают другие программы. Программа всегда получает полный набор строк, однако программа читает обновлённые данные ДО того, как они будут подтверждены. Если другая программа выполнила откат, то в результате запроса могут быть данные, которых реально никогда не существовало.
Committed Read - Гарантирует, что программа никогда не получит данных, которые не были подтверждены. Перед выборкой строки сервер определяет: поставил ли процесс обновления данных блокировку на строку или нет. Если нет, то он возвращает строку. Поскольку на обновлённые, но неподтверждённые строки устанавливается блокировка. такая проверка не даёт возможности программе считать неподтверждённые данные. Этот уровень изоляции не ставит реально блокировок на считываемую строку, поэтому он так же эффективен, как и Dirty Read.
Repeatable Read - Этот уровень изоляции указывает серверу накладывать блокировку на каждую строку, которую программа проходит или выбирает. Блокировки накладываются: разделяемые - для обычных курсоров и исключительные - для обновляемых курсоров. Блокировки накладываются индивидуально на каждую использованную строку(!). Они не освобождаются до тех пор, пока не завершится транзакция (!!!). Этот уровень позволяет программе, использующей двунаправленный (scrollable) курсор, читать запрошенные строки многократно и быть при этом уверенной, что эти строки не будут удалены или изменены между повторными чтениями.

Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz