«Существуют ли« лучшие практики »по снижению вероятности тупика?»
Deadlock означает 2 (или более) процесса, 2 (или более) ресурса и два разных порядка доступа.
Процесс 1 должен получить A и B.
Процесс 2 должен получить B и ждать A.
Если каждый процесс получит A первым, вероятность возникновения тупиковой ситуации уменьшается.
Поскольку вы зашли в тупик на всей странице, трудно гарантировать, что все получат одну и ту же страницу, чтобы начать свою транзакцию.
Вы можете попытаться уменьшить конфликты, убедившись, что строки широко перемешаны между страницами.
Вы можете попытаться уменьшить конфликты, введя строку «Вы должны получить это первым», которая будет эффективно использовать однопоточные приложения.