Версионность в Yukon
Категория реферата: Рефераты по информатике, программированию
Теги реферата: курсовые работы скачать бесплатно, защита дипломной работы
Добавил(а) на сайт: Скуратов.
Предыдущая страница реферата | 3 4 5 6 7 8 9 10 11 12 13 | Следующая страница реферата
SET TRANSACTION ISOLATION LEVEL SNAPSHOT BEGIN TRAN SELECT * FROM tst |
Затем в другом подключении изменить какую-нибудь запись:
BEGIN TRAN UPDATE tst SET y=3 WHERE x=3 COMMIT TRAN |
А потом попытаться изменить эту же запись из snapshot-транзакции:
UPDATE tst SET y=3 WHERE x=3 COMMIT TRAN |
То snapshot транзакция успехом не увенчается, а будет отменена по причине конфликта версий.
Дело в том, что если существует транзакция, зафиксированная после начала работы snapshot-транзакции, и изменения этой транзакции попадают в условия выборки, сделанной snapshot-транзакцией, то вполне могут существовать записи, которые были изменены этой транзакцией после того, как snapshot-запрос их просмотрел, таким образом, что они стали удовлетворять условию snapshot-выборки. То есть получается, что snapshot-транзакция может увидеть только часть изменений, сделанных другой транзакцией, а этого допустить нельзя.
В данном случае поведение Yukon очень похоже на версионное. Но на самом деле он все равно ведет себя немного «по-блокировочному». Проявляется это, например, все в той же ситуации с отсутствием индексов.
Если еще раз выполнить блокирующую транзакцию, не фиксируя ее:
BEGIN TRAN UPDATE tst SET y=3 WHERE x=3 |
А потом попробовать изменить другую запись из snapshot транзакции:
SET TRANSACTION ISOLATION LEVEL SNAPSHOT BEGIN TRAN UPDATE tst SET y=-1 WHERE x=4 COMMIT TRAN |
То snapshot транзакция все равно окажется заблокированной.
Тип |
Описание |
Объект Рекомендуем скачать другие рефераты по теме: контрольная работа по математике класс, контрольные работы по математике. Предыдущая страница реферата | 3 4 5 6 7 8 9 10 11 12 13 | Следующая страница реферата Поделитесь этой записью или добавьте в закладкиКатегории: |