Блокировки между отдельными запросами могут происходить, поскольку они блокируют отдельные строки, а не всю таблицу:
Запрос на обновление получает блокировку обновления для нескольких строк в таблице, а запрос на выборку получает блокировку чтения для некоторых других строк в таблице. Затем запрос на обновление пытается получить блокировку обновления для строк, которые заблокированы для чтения, и запрос на выборку пытается получить блокировку чтения для строк, которые заблокированы для обновления.
С эскалацией блокировок это может стать еще сложнее, т. Е. База данных решает, что транзакция заблокировала слишком много отдельных строк, поэтому ее следует перевести в блокировку раздела таблицы или всей таблицы. Это означает, что блокировка может повлиять на строки, которые непосредственно не участвуют в запросе.