Как сделать тупик в MySQL ...?MySql

Форум по Mysql
Anonymous
Как сделать тупик в MySQL ...?

Сообщение Anonymous »

мой сценарий тупика. < /pbr />
-- emp_no is pk.

— Trasnaction 1
select emp_no from employees where emp_no between 1 AND 500000 for update;
< /code>
— Transaction 2
select emp_no from employees where emp_no between 1 AND 500000 ORDER BY emp_no DESC for update;
< /code>
Я ожидал, что: < /p>
Транзакция 1 приобретает замки на строках от 1 до 500 000. < /p>
Транзакция 2 Приобретит замки на строках от 500 000 до 1 (в порядке убывания). < /p>
В конце концов, обе транзакции будут в ситуации тупика, каждая из которых ожидает замков на средних рядах (вокруг EMP_NO = 250000). < /p>
Тем не менее, результат заключается в том, что транзакция 1 сначала получает все блокировки строк. Почему это происходит? Как сделать тупик, используя Select-For-update?


Подробнее здесь: https://stackoverflow.com/questions/794 ... k-in-mysql

Вернуться в «MySql»