Встречается на собеседованиях • сегодня
Что такое грязное чтение в транзакциях
Грязное чтение (Dirty Read) — это ситуация, когда одна транзакция читает данные, которые были изменены другой транзакцией, но еще не зафиксированы. Если вторая транзакция откатится, первая получит некорректные данные.
Пример:
java
// Транзакция 1 (изменяет данные)
connection.setAutoCommit(false);
stmt.executeUpdate("UPDATE accounts SET balance = 1000 WHERE id = 1");
// Транзакция 2 (читает незафиксированные данные)
connection2.setAutoCommit(false);
ResultSet rs = stmt2.executeQuery("SELECT balance FROM accounts WHERE id = 1"); // balance = 1000
// Транзакция 1 откатывается
connection.rollback();
// Транзакция 2 работает с "грязными" данными
text
Уровни изоляции, предотвращающие Dirty Read:
- READ_COMMITTED (минимальный уровень)
- REPEATABLE_READ
- SERIALIZABLE
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы