ISOLATION LEVEL
Уровень изолированности транзакций — значение, определяющее уровень, при котором в транзакции допускаются несогласованные данные, то есть степень изолированности одной транзакции от другой.Изменения, внесённые некоторым оператором, будут видны всем последующим операторам, запущенным в рамках этой же транзакции, независимо от её уровня изолированности.Изменения произведённые в рамках другой транзакции остаются невидимыми для текущей транзакции до тех пор, пока они не подтверждены.Уровень изолированности, а иногда, другие атрибуты, определяет, как транзакции будут взаимодействовать с другой транзакцией, которая хочет подтвердить изменения.
Необязательное предложение ISOLATION LEVEL
задаёт уровень изолированности запускаемой транзакции.Это самая важная характеристика транзакции, которая определяет её поведение по отношению к другим одновременно выполняющимся транзакциям.
Существует три уровня изолированности транзакции:
-
SNAPSHOT
-
SNAPSHOT TABLE STABILITY
-
READ COMMITTED
с уточнениями (NO RECORD_VERSION
илиRECORD_VERSION
илиREAD CONSISTENCY
)