NOT IN и NOT EXISTS, вероятно, создадут один и тот же план.Сколько строк вы собираетесь удалить?Если это много, я бы делал пакеты по 5К или 10К таким образом, что вы не заполнили бы свой ЛОГ одной большой транзакцией, а затем, если она по какой-то причине не сработала, нужно выполнить большой откат
, например
DELETE top 5000
from sometable
where ....
go 100 --will be executed 100 times
, чтобы GO N работал, вам нужны SSMS и пакет обновления 2 (IIRC), но, конечно, вы также можете написать цикл while .. while @@rowcount > 0
.......