Всем доброго времени суток!
Использую SQL сервер 2008.
Возникла необходимость конвертировать SQL базу данных в новый формат.
Написал скрипты запустил в "Microsoft SQL Server Management Studio".
Запустил выполнение БД около 1 ТБ 4-е миллиона записей.
Обрабатывалось 1000 записей за 8 минут.
Для ускорения исключили обработку больших blob-ов.
Так теперь 1000 записей обрабатывается за 40 минут...
В первом варианте использовались курсоры с атрибутами сохранения в tempdb,
во втором варианте без сохранения.
Какая обработка быстрее с промежуточным сохранением в tempdb или без него?
Профайлер показывает что загруженность процессора всего 4%
и небольшая скорость записи на диск.
Выделено 24 ядра. 2-а процессора.
Сервер интенсивно используется другими БД.
Когда запускаем ту же самую конвертацию(скрипты) на локальном SQL-сервере БД около 2 ГБ 150 тысяч записей,
то скорость обработки около 1000 записей за 12 секунд.
Загруженность процессора 50% выделено 1 ядро.