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

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

В SQL стандарте определены 4 уровня изоляции (от низкого к высокому):

  1. Read Uncommitted - транзакции видят незафиксированные изменения других транзакций (грязное чтение)
  2. Read Committed - транзакции видят только зафиксированные изменения (по умолчанию в PostgreSQL, Oracle)
  3. Repeatable Read - гарантирует, что данные, прочитанные в транзакции, не изменятся (по умолчанию в MySQL)
  4. Serializable - самый строгий уровень, эмулирует последовательное выполнение транзакций

Пример установки уровня в JDBC:

java
connection.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);

Проблемы, которые решают уровни:

  • грязное чтение (dirty read)
  • неповторяющееся чтение (non-repeatable read)
  • фантомное чтение (phantom read)
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы