уровни изоляции mysql - PullRequest
       30

уровни изоляции mysql

1 голос
/ 06 октября 2009

Я немного смущен документацией здесь. У меня есть транзакция, которая

  1. начать транзакцию
  2. делает некоторые обновления
  3. делает некоторые выборки
  4. делает еще несколько обновлений
  5. 1012 * совершить *

Я хочу, чтобы мои выборки на шаге 3 видели результаты обновлений на шаге 2 , но я хочу иметь возможность откатить все это.

чтение зафиксировано , кажется, подразумевает, что выборки показывают только те данные, которые были зафиксированы, а повторяемое чтение , кажется, подразумевает, что все последующие выборки будут видеть те же данные, которые существовали во время первый выбор - таким образом игнорируя мои обновления. read uncommitted , кажется, делает правильную вещь, но: «но возможна более ранняя версия строки» - это также недопустимо, так как мои выборки ДОЛЖНЫ видеть результат моих обновлений.

является сериализуемым действительно моя единственная надежда здесь?

Я работаю над документацией здесь

1 Ответ

2 голосов
/ 06 октября 2009

Уровни изоляции транзакций описывают только взаимодействие между одновременными транзакциями. При любом уровне изоляции материал, который вы обновили в рамках той же транзакции , будет обновляться при повторном выборе их из этой транзакции.

Правильный уровень изоляции в вашем случае выглядит как зафиксированный для чтения, поэтому вы можете выполнить откат в любой момент, а незафиксированные данные не видны в других транзакциях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...