Встречается на собеседованиях • сегодня
Что такое грязное чтение в БД
Грязное чтение (Dirty Read) — это аномалия в транзакциях, когда одна транзакция читает данные, изменённые другой, но ещё не зафиксированной транзакцией. Если вторая транзакция откатывается, первая получит некорректные данные.
Пример (SQL):
sql
-- Транзакция 1 (изменяет данные)
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;
-- Транзакция 2 (читает НЕзафиксированные данные)
BEGIN;
SELECT balance FROM accounts WHERE user_id = 1; -- Видит изменённые -100
COMMIT;
-- Транзакция 1 откатывается
ROLLBACK;
text
**Как избежать**:
В большинстве СУБД (PostgreSQL, MySQL и др.) можно настроить уровень изоляции `READ COMMITTED` или выше, который предотвращает грязное чтение.
```sql
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;Где встречается:
Чаще в системах с высокой конкуренцией, где важна скорость, но не строгая согласованность данных.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы