Выполнение одного и того же выбора для обновления без заказа с несколькими результатами в разных транзакциях, вызывающих взаимные блокировки
Транзакция А:
select * from table_a where field_a = 'A' for update;
Транзакция Б:
select * from table_a where field_a = 'A' for update;
Если эти транзакции выполняются одновременно, может ли это привести к тупику?
Ожидается, что запросы будут возвращать несколько результатов.
Я думал, что, может быть, под ним, он блокировал результаты по одному, и, поскольку порядок не был указан, есть вероятность, что блокировка может происходить в разных порядках, что приведет к мертвой блокировке.
Это возможно?