MySQL повторяемое чтение: Внешняя транзакция видит внутренние преданные данные, но только в случае его первого выбора поMySql

Форум по Mysql
Anonymous
MySQL повторяемое чтение: Внешняя транзакция видит внутренние преданные данные, но только в случае его первого выбора по

Сообщение Anonymous »

Я наблюдаю за интересным поведением с уровнем изоляции MySQL при работе с внешней транзакцией и внутренней (моделируемой пропагандистской транзакцией. Поведение < /strong> < /p>
  • Запускается наружная транзакция. < /Li>
    Внешняя транзакция выполняет операторы. Данные. /> Внешняя транзакция выполняет операторы вставки. Транзакция выполняет еще один незаборный оператор SELECT для соответствующих данных.
наблюдение : это выбрать (и последующие) во внешней транзакции правильно продолжает видеть свои собственные вставленные данные и не видят данные, совершаемые на внутренней транзакции. Явные изменения уровня изоляции. < /p>
Вопросы: < /strong>
Почему в сценарии 1, не является ли первым выбором внешней транзакции (который происходит после его собственных вставки и после того, как внутренняя транзакция совершает), как данные, совершенные внутренней транзакцией, несмотря на то, как выбранное чтение? Внешняя транзакция до начала внутренней транзакции (как в сценарии 2) изменяет результат видимости для последующих выборов в той же внешней транзакции, гарантируя, что она придерживается ожидаемого поведения повторяемого чтения, чтобы не увидеть более поздние данные из других транзакций? Своими собственными операциями DML (например, вставкой) и одновременными совершенными транзакциями?

Подробнее здесь: https://stackoverflow.com/questions/796 ... ut-only-if

Вернуться в «MySql»