Встречается на собеседованиях • сегодня
Что такое грязное чтение в БД
Грязное чтение (Dirty Read) — это аномалия при работе с транзакциями, когда одна транзакция читает данные, изменённые другой, но ещё не зафиксированной транзакцией. Если вторая транзакция откатится, первая получит невалидные данные.
Пример:
java
// Транзакция 1 (обновляет баланс, но не коммитит)
connection.setAutoCommit(false);
stmt.executeUpdate("UPDATE accounts SET balance = 1000 WHERE id = 1");
// Транзакция 2 (читает незафиксированные данные)
int dirtyBalance = stmt.executeQuery("SELECT balance FROM accounts WHERE id = 1").getInt(1);
// dirtyBalance = 1000, даже если Транзакция 1 откатитсяУровни изоляции, предотвращающие грязное чтение:
READ_COMMITTEDи выше в стандарте SQL- В JDBC задаётся через
Connection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED)

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