Изменения документа Уровни изоляции | Isolation levels
Редактировал(а) Alexandr Fokin 2025/09/20 11:28
От версии 9.3
отредактировано Alexandr Fokin
на 2024/02/08 15:07
на 2024/02/08 15:07
Изменить комментарий:
К данной версии нет комментариев
К версии 9.4
отредактировано Alexandr Fokin
на 2025/09/20 11:07
на 2025/09/20 11:07
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,21 +1,21 @@ 1 1 ===== Уровни изоляции ===== 2 2 3 -|(% style="width:198px" %)**Уровень**|(% style="width: 217px" %)**Аномалия**|(% style="width:1077px" %)**Описание аномалии**4 -|(% style="width:198px" %) |(% style="width: 217px" %)Потерянные изменения3 +|(% style="width:198px" %)**Уровень**|(% style="width:137px" %)**Чтение и блокировка**|(% style="width:219px" %)**Аномалия**|(% style="width:1077px" %)**Описание аномалии** 4 +|(% style="width:198px" %) |(% style="width:137px" %) |(% style="width:219px" %)Потерянные изменения 5 5 Lost Update|(% style="width:1077px" %)Последовательное обновление строки таким образом, что последнее изменение полностью не учитывает результаты предыдущего и перезаписывает их. 6 -|(% style="width:198px" %)READ UNCOMMITTED|(% style="width: 217px" %)Грязное чтение6 +|(% style="width:198px" %)READ UNCOMMITTED|(% style="width:137px" %) |(% style="width:219px" %)Грязное чтение 7 7 Dirty read|(% style="width:1077px" %)((( 8 8 Считывания из БД данных, которые являются промежуточными или отмененными в будущем. 9 9 Чтение изменений, которые внесены активными транзакциями, и на текущий момент еще не закомичены. 10 10 ))) 11 -|(% style="width:198px" %)READ COMMITTED|(% style="width: 217px" %)Неповторяющееся чтение11 +|(% style="width:198px" %)READ COMMITTED|(% style="width:137px" %)Не удерживает блокировку строк.|(% style="width:219px" %)Неповторяющееся чтение 12 12 Non-repeatable read|(% style="width:1077px" %)((( 13 13 В рамках транзакции при повторном чтении данных, отобразятся все изменения, выполненные и закомиченные другими транзакциями. 14 14 ))) 15 -|(% colspan="1" rowspan="2" style="width:198px" %)REPEATABLE READ|(% style="width: 217px" %)Фантомное чтение15 +|(% colspan="1" rowspan="2" style="width:198px" %)REPEATABLE READ|(% rowspan="2" style="width:137px" %)Удерживает share блокировку строк.|(% style="width:219px" %)Фантомное чтение 16 16 Phantom reads|(% style="width:1077px" %)В рамках транзакции при повторном чтении данных, может меняться кол-во строк 17 17 (Может быть связано с добавлением новых строк или изменение существующих таким образом, что они начали попадать в выборку. 18 -|(% style="width:21 7px" %)(((18 +|(% style="width:219px" %)((( 19 19 Аномалия сериализации 20 20 (% style="background-color:transparent" %)Serialization anomaly 21 21 )))|(% style="width:1077px" %)((( ... ... @@ -23,7 +23,7 @@ 23 23 24 24 При использовании теста из документации [[PostgreSQL>>doc:Разработка.NET.Работа с БД.EntityFramework | EntityFrameworkCore.EF провайдеры.Provider PostgreSQL.WebHome]] на текущем уровне изоляции, аномалия также проявилась в [[MSSQL>>doc:Разработка.Базы данных.SQL.MSSQL.WebHome]]. 25 25 ))) 26 -|(% style="width:198px" %)SERIALIZABLE|(% style="width: 217px" %)-|(% style="width:1077px" %)(((26 +|(% style="width:198px" %)SERIALIZABLE|(% style="width:137px" %) |(% style="width:219px" %)-|(% style="width:1077px" %)((( 27 27 Выполнение происходит так, словно транзакции выполняются последовательно одна за другой в некотором порядке (при этом не влияя друг на друга). 28 28 29 29 Полное отсутствие перечисленных выше аномалий.