Интересует следующий вопрос.
Есть таблица (большая), в ней есть кластерный уникальный индекс по полю первичного ключа.
Из таблицы делается удаление через join c другой таблицей. Условия соединения двух таблиц идут по первичному ключу удаляемой таблицы.
В таблице примерно 300М строк. Под условие удаления попадает 50М.
Если удалять одним куском (нагрузку на лог транзакций сейчас не рассматриваем), какого уровня блокировки случатся на таблицах?
Или, как все советуют, делать удаление относительно небольшими порциями ? Как определить размер порций, чтобы с одной стороны не создавать длительных блокировок, а с другой стороны - не скатиться до построчного удаления в цикле...
Есть таблица (большая), в ней есть кластерный уникальный индекс по полю первичного ключа.
Из таблицы делается удаление через join c другой таблицей. Условия соединения двух таблиц идут по первичному ключу удаляемой таблицы.
В таблице примерно 300М строк. Под условие удаления попадает 50М.
Если удалять одним куском (нагрузку на лог транзакций сейчас не рассматриваем), какого уровня блокировки случатся на таблицах?
Или, как все советуют, делать удаление относительно небольшими порциями ? Как определить размер порций, чтобы с одной стороны не создавать длительных блокировок, а с другой стороны - не скатиться до построчного удаления в цикле...