Я новичок в этой теме и пытаюсь проверить то, что понимаю. поэтому, пожалуйста, рассмотрите следующий пример: -
Транзакция содержит операторы выбора и обновления, где оператор обновления зависит от набора результатов, возвращаемого оператором выбора. Пользователь A и B одновременно выполняют транзакцию. Оба пользователя выбрали данные и собираются выполнить обновление. Если пользователь A выполнит обновление первым, у пользователя B, вероятно, будет ошибка; потому что он не имеет обновленного набора результатов. Это называется случай фантомного чтения.
Для сериализуемого уровня изоляции: описанного выше случая никогда не произойдет. Транзакции полностью изолированы и не могут работать одновременно. Транзакция пользователя B не может выполнить оператор select, пока пользователь A не завершит свою транзакцию. Пользователь Б будет ждать, пока транзакция А не будет завершена.
Для уровня изоляции «Повторяющееся чтение»: транзакция B может читать, но не может изменять данные. Что может вызвать фантомное чтение.
Можете ли вы сказать, правильное ли это понимание?