Привет!
Простой
Дело в том, что система постороена так, что генерится параллельно куча подобных DELETE команд и они "деруться" друг с другом за одну и ту же таблицу.
Два вопроса:
1. Какого <censored> блокируется вся таблица, а не строка, если поиск идет по ключа (кластерный индекс)?
2. Как его заставить не переписывая запрос выполнять ROW_LOCK?
Простой
DELETE FROM MyTable WHERE ID = @IDприволит к DEADLOCK, потому что эскалирует блокировки до X.
Дело в том, что система постороена так, что генерится параллельно куча подобных DELETE команд и они "деруться" друг с другом за одну и ту же таблицу.
Два вопроса:
1. Какого <censored> блокируется вся таблица, а не строка, если поиск идет по ключа (кластерный индекс)?
2. Как его заставить не переписывая запрос выполнять ROW_LOCK?