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

Как работают уровни изоляции транзакций

Уровни изоляции транзакций определяют, как транзакции взаимодействуют с параллельными транзакциями. В Java (JDBC) они задаются через Connection.setTransactionIsolation():

  1. READ_UNCOMMITTED – самая слабая изоляция. Транзакции видят незафиксированные изменения других транзакций (грязное чтение).
  2. READ_COMMITTED – транзакция видит только зафиксированные изменения (исключает грязное чтение).
  3. REPEATABLE_READ – гарантирует, что повторные чтения в одной транзакции дадут одинаковый результат (исключает неповторяемое чтение).
  4. SERIALIZABLE – строгая изоляция. Транзакции выполняются так, будто последовательно (исключает фантомное чтение).

Пример:

java
Connection conn = dataSource.getConnection();
conn.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);

Чем выше уровень, тем строже изоляция, но ниже производительность. Выбор зависит от требований к согласованности данных.

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

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

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

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