Ожидание получения блокировки чтения для ранее обновленной строки в той же транзакции
В транзакции с уровнем изоляции зафиксированного чтения, если вы обновите набор строк, а затем сделаете выборку для того же набора строк, сервер SQL не будет повторно использовать блокировки x, которые он получает для индекса при выполнении обновления, чтобы выполнить следующее выберите или он попытается получить новый набор блокировок для индекса. У меня сценарий тупика, когда два процесса борются за блокировку ключа индекса - один из двух заблокированных ресурсов. Это происходит, когда один из процессов уже выполнил обновление, а затем делает выбор в тех же строках. Мой вопрос заключается в том, почему этот процесс ожидает получения блокировки ключа для индекса, когда он уже получил блокировку x в той же строке на предыдущем шаге.