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

Зачем нужен repeatable-read

Repeatable Read — это уровень изоляции транзакций, который гарантирует, что данные, прочитанные в рамках одной транзакции, не изменятся другими транзакциями до её завершения. Это предотвращает "неповторяемое чтение" (non-repeatable read), когда повторное чтение тех же данных в транзакции может дать другой результат из-за изменений других транзакций.

Пример в Java с JDBC:

java
connection.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);
connection.setAutoCommit(false);

// Первое чтение
ResultSet rs1 = statement.executeQuery("SELECT balance FROM accounts WHERE id = 1");
rs1.next();
int balance1 = rs1.getInt("balance");

// Другая транзакция где-то изменила баланс...

// Второе чтение - получим тот же результат
ResultSet rs2 = statement.executeQuery("SELECT balance FROM accounts WHERE id = 1");
rs2.next();
int balance2 = rs2.getInt("balance");

assert balance1 == balance2; // Гарантировано при REPEATABLE_READ
connection.commit();
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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