Обичайният отговор:зависи! :-)
Най-вече от това колко трафик имате на вашата система и какво ниво на изолация на транзакциите използвате.
Нивото на изолация контролира как получавате данните си и колко заключване се извършва. Ако никога не сте чували за нивата на изолация на транзакциите, вероятно използвате по подразбиране - READ COMMITTED, което не би трябвало да е лошо избор.
Ако обаче използвате нещо като SERIALIZABLE
по някакви причини може да изпитате не задънени блокировки, а забавяния. Таблицата може да бъде заключена за определен период от време, докато вашата единствена транзакция завърши. Ако всички операции работят в този ред (първо изтриване, след това вмъкване, след това избиране), не виждам как наистина трябва да се сблъскате с задънени блокировки.
Прочетете повече за нивата на изолация на SQL транзакция тук на www.sql-server- performance.com .