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

В чем разница между Repeatable Read и Phantom Read

Repeatable Read гарантирует, что в рамках одной транзакции повторное чтение одних и тех же данных вернет одинаковые результаты, даже если другие транзакции изменяют эти данные. Однако, может возникнуть Phantom Read - ситуация, когда вторая транзакция добавляет новые строки, которые попадают в диапазон запроса первой транзакции.

Пример:

java
// Транзакция 1 (Repeatable Read)
SELECT * FROM users WHERE age > 20; // Возвращает 10 записей

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

// Транзакция 1 повторяет запрос
SELECT * FROM users WHERE age > 20; // Все равно 10 записей (Phantom Read)

В Serializable (самый строгий уровень изоляции) Phantom Read невозможен.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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