Выбор ответа Junior Транзакции и изоляция спрашивают часто обновлено

Non-repeatable read

Вопрос

Транзакция дважды читает цену товара и получает 100, а потом 120, потому что между чтениями другая транзакция изменила цену и закоммитила. Как называется аномалия?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Неповторяющееся чтение (non-repeatable read). Одна и та же строка при повторном чтении изменилась из-за чужого закоммиченного изменения: это non-repeatable read.

Варианты ответа

  1. Грязное чтение (dirty read) чужих данных
  2. Фантомное чтение (phantom read) по условию
  3. Потерянное обновление (lost update)
  4. Неповторяющееся чтение (non-repeatable read)правильный ответ

Разбор

Одна и та же строка при повторном чтении изменилась из-за чужого закоммиченного изменения: это non-repeatable read. Грязное чтение это чтение незакоммиченных данных. Фантомы касаются появления или исчезновения строк по условию, а не изменения уже прочитанной строки. Lost update требует, чтобы мы тоже записывали.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме