Разница между уровнями изоляции и замками Mysql - PullRequest
0 голосов
/ 17 октября 2018

Я читаю об управлении параллелизмом в MySQL.Но сейчас я запутался между уровнями изоляции и замками.Я протестировал монопольную и разделяемую блокировку, но не могу понять, как они связаны с уровнями изоляции?

Я проверил один случай: я запустил транзакцию с уровнем изоляции Repeatable для чтения и чтения строки R1 ивопрос сна через мою программу java.Параллельно я запустил другую транзакцию, обновил некоторые столбцы в R1 и зафиксировал транзакцию.Когда я перечитываю строку R1 в первой транзакции, я получаю тот же моментальный снимок, который прочитал во время первого чтения.Я понимаю это, поскольку это функциональность, обеспечиваемая повторным чтением.Но мой вопрос заключается в том, почему я могу обновить строку R1 во второй транзакции?

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

верно ли мое понимание?Если нет, пожалуйста, поправьте меня?Чего мне не хватает?

...