Мы собираемся начать новый процесс. Он будет включать более пятидесяти столов с общим количеством более 2 миллионов строк. Процесс будет зацикливаться на поле для/для каждого окна. Внутри таблицы будут проходить разные проспекты. Базовые обновления (наиболее часто называемым будет удаление, ищущее дубликаты). В итоге мы получим новую таблицу с полным содержимым всех этих 50 таблиц со всеми сделанными обновлениями.SQL for Loop Tunning
Так что мой вопрос: лучше ли с точки зрения скорости искать дубликаты в таблицах во время каждого цикла. Или лучше сделать полное удаление в конце процесса, проверяя полный результат? Объем работы будет более или менее одинаковым.
Большое спасибо.
EDIT.
Дополнительная информация.
Петля является необходимой. Эти 50 таблиц расположены на двух разных серверах. Oracle и Access. Цикл должен заполнить их на SQL-сервере, локальном. На каждой популяции (цикл) я делаю некоторые обновления и работаю над таблицами, чтобы они были готовы.
Вопрос в том, работает ли работа над таблицами быстрее, если она попадает в цикл или за его пределы.
Спасибо, надеюсь, что он станет понятнее.
Лучше делать вещи в наборах без петлирования вообще. – HLGEM
@HLGEM - Всегда? Я * * обнаружил, что он * может * * иногда * быть хорошей идеей разбить большую запись на более мелкие записи, чтобы сохранить накладные расходы журнала транзакций и т. Д. – MatBailie
@Dems Не всегда, но практически всегда, когда вы зацикливаете одну запись за раз , Если вы зацикливаете турусы, что часто является хорошей идеей. – HLGEM