Встречается на собеседованиях • сегодня
Что такое Dirty Write
Dirty Write возникает, когда одна транзакция изменяет данные, которые уже были изменены другой незавершенной транзакцией. Это нарушает изоляцию и может привести к потере изменений или неконсистентности данных.
Пример:
java
// Транзакция 1
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
// Транзакция 2 (параллельно)
BEGIN;
UPDATE accounts SET balance = balance + 50 WHERE id = 1;
COMMIT; // Dirty Write - перезаписывает изменения Транзакции 1
// Транзакция 1
COMMIT; // В результате balance будет уменьшен на 100, а не на 50
text
Чтобы избежать Dirty Write, СУБД используют механизмы блокировок или MVCC. В JDBC можно установить уровень изоляции:
```java
connection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы