SobesLab логотип SobesLab

Ответ

Лучшие практики: блокировать ресурсы (таблицы, строки) в согласованном порядке во всех транзакциях, избегать долгих транзакций (чем короче, тем меньше шанс взаимоблокировки), при возможности использовать более низкий уровень изоляции или оптимистичные методы (MVCC), чтобы транзакции не держали блокировки. Также СУБД может автоматически завершать одну из транзакций при обнаружении deadlock, поэтому в приложении следует быть готовым повторить транзакцию в случае такой ошибки.