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

Какие знаешь аномалии изоляций транзакций

В SQL стандарте определены 4 аномалии:

  1. Dirty Read - чтение незафиксированных изменений другой транзакции. Если та откатится, прочитанные данные будут недействительны.
java
// Транзакция 1:
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
// Транзакция 2 читает незафиксированный баланс
// Транзакция 1 откатывается
  1. Non-repeatable Read - повторное чтение одной записи дает разные результаты, так как другая транзакция изменила данные между чтениями.

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

  3. Lost Update - два изменения перезаписывают друг друга без учета предыдущих изменений.

Уровни изоляции (Read Uncommitted, Read Committed, Repeatable Read, Serializable) обеспечивают защиту от этих аномалий в разной степени. Например, Serializable предотвращает все аномалии, но снижает производительность.

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

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

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

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