--- aliases: tags: - зрелость/🌱 date: - - 2024-06-19 zero-link: - "[[00 Базы Данных]]" parents: - "[[Уровни изоляций транзакций БД]]" linked: next: "[[Repeatable read]]" prev: "[[Read uncommitted]]" --- **Read committed (чтение фиксированных данных).** Большинство промышленных СУБД по умолчанию используют именно этот уровень. На этом уровне обеспечивается защита от «грязного» чтения, тем не менее, в процессе работы одной транзакции другая может быть успешно завершена и сделанные ею изменения зафиксированы. В итоге первая транзакция будет работать с другим набором данных. ^11df20 **Реализация:** - Использование [Блокировки](Блокировки.md). Устанавливаем блокировку строк на запись - Сохраняем старые значения строк до коммита изменений. Отдаем их другим транзакциям. ([MVCC](MVCC.md)) **Минусы:** - Большое потребление RAM, так как создает множество временных сущностей. **Проблемы:** - [Неповторяющееся чтение](Неповторяющееся%20чтение.md) - [Фантомное чтение](Фантомное%20чтение.md) - [Потерянное обновление](Потерянное%20обновление.md)