Встречается на собеседованиях • сегодня
В чем разница между грязным чтением и фантомным чтением
Грязное чтение (Dirty Read) — это чтение незафиксированных изменений из другой транзакции. Если та транзакция откатится, прочитанные данные будут невалидными.
Фантомное чтение (Phantom Read) — это ситуация, когда в рамках одной транзакции повторное чтение возвращает новые строки, добавленные другой транзакцией.
Пример:
java
// Dirty Read (уровень READ_UNCOMMITTED)
transaction1: UPDATE users SET balance = 100 WHERE id = 1; // не commit
transaction2: SELECT balance FROM users WHERE id = 1; // видит 100
// Phantom Read (уровень READ_COMMITTED)
transaction1: SELECT * FROM users WHERE age > 30; // вернуло 2 строки
transaction2: INSERT INTO users (age) VALUES (35); // commit
transaction1: SELECT * FROM users WHERE age > 30; // теперь 3 строкиГрязное чтение — это про незафиксированные данные, фантомное — про новые строки.

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