Извините, ребята,
Никто из вышеперечисленных не ответит на вопрос. Это всего лишь примеры того, как вы можете делать вещи. Ответ таков: при частых фиксациях используется больше ресурсов, однако журнал транзакций не может быть усечен до точки фиксации. Таким образом, если ваша отдельная охватывающая транзакция очень велика, это приведет к увеличению журнала транзакций и, возможно, к фрагментации, которая, если ее не обнаружить, вызовет проблемы позже. Кроме того, в ситуации отката длительность обычно в два раза больше, чем исходная транзакция. Поэтому, если ваша транзакция завершится неудачей через полчаса, откат займет 1 час, и вы не сможете остановить ее: -)
Я работал с SQL Server 2000/2005, DB2, ADABAS, и вышеизложенное верно для всех. Я действительно не понимаю, как Oracle может работать по-другому.
Возможно, вы могли бы заменить T-SQL командой bcp, и там вы можете установить размер пакета без необходимости его кодирования.
Выполнение коммитов frequest при сканировании одной таблицы предпочтительнее, чем запуск нескольких сканирований с небольшими числами обработки, потому что обычно, если требуется сканирование таблицы, вся таблица будет сканироваться, даже если вы возвращаете только небольшое подмножество.
Держитесь подальше от снимков. Снимок только увеличит количество операций ввода-вывода и конкурирует за операции ввода-вывода и процессора