Repeatable Read установит блокировки на все строки, которые имеют
был доставлен В ситуациях, когда вы работаете с
курсоры, извлекающие большие объемы данных, это может вызвать
конфликт с другими пользователями, потому что они не могут
получить блокировки для обновления любой строки, прочитанной курсорами
с Repeatable Read, пока курсор не закроется.
Риск снижения производительности заключается в том, что транзакции могут
перенести увеличенное количество таймаутов и / или тупиков. Этот риск
пропорциональна вероятности того, что две транзакции должны
читать / обновлять одни и те же строки одновременно. Еще один фактор, который
Может повлиять на ваше приложение размер взятой блокировки. Если замки
Если принять данные на уровне страницы, то может возникнуть конфликт, если данные отличаются
транзакции должны иметь доступ к одной и той же странице, а не к одной строке.
С другой стороны, когда вы используете более низкий уровень изоляции,
стабильность курсора, например, вы оставляете открытой возможность
что строки, которые вы предварительно выбрали во время транзакции, могут быть
обновляется другими транзакциями до того, как ваша единица работы
завершено.