Выполнение одного и того же выбора для обновления без заказа с несколькими результатами в разных транзакциях, вызывающих взаимные блокировки

Транзакция А:

select * from table_a where field_a = 'A' for update;

Транзакция Б:

select * from table_a where field_a = 'A' for update;

Если эти транзакции выполняются одновременно, может ли это привести к тупику?

Ожидается, что запросы будут возвращать несколько результатов.

Я думал, что, может быть, под ним, он блокировал результаты по одному, и, поскольку порядок не был указан, есть вероятность, что блокировка может происходить в разных порядках, что приведет к мертвой блокировке.

Это возможно?

0 ответов

Другие вопросы по тегам