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

Какие знаешь уровни изоляций

В Java (JDBC) и SQL есть 4 уровня изоляции транзакций:

  1. READ_UNCOMMITTED - грязное чтение. Транзакция видит незафиксированные изменения других транзакций. Самый низкий уровень.
java
connection.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
  1. READ_COMMITTED - чтение только зафиксированных данных. Решает проблему грязного чтения, но возможны неповторяющиеся чтения.

  2. REPEATABLE_READ - гарантирует, что если транзакция повторно читает данные, она увидит те же значения. Решает проблему неповторяющихся чтений, но возможны фантомные чтения.

  3. SERIALIZABLE - самый строгий уровень. Имитирует последовательное выполнение транзакций. Решает все проблемы, но снижает производительность.

В PostgreSQL по умолчанию READ_COMMITTED, в MySQL - REPEATABLE_READ. Уровень можно задать через Connection или аннотацию @Transactional в Spring.

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

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

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

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