Встречается на собеседованиях • сегодня

В чем заключается аномалия фантомное чтение

Фантомное чтение (Phantom Read) — это ситуация, когда в рамках одной транзакции повторное чтение данных возвращает новые строки, добавленные другой транзакцией после первого чтения.

Пример:

java
// Транзакция 1
connection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
Statement stmt = connection.createStatement();
ResultSet rs1 = stmt.executeQuery("SELECT * FROM users WHERE age > 20"); // Допустим, 3 записи

// Транзакция 2 добавляет новую запись
// INSERT INTO users (name, age) VALUES ('John', 25)

// Транзакция 1 повторяет запрос
ResultSet rs2 = stmt.executeQuery("SELECT * FROM users WHERE age > 20"); // Теперь 4 записи

text

**Как избежать:**  
Использовать более строгий уровень изоляции, например, `SERIALIZABLE`, или блокировки (`SELECT ... FOR UPDATE`).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы