Является ли более оптимальным очищать данные с помощью регулярных выражений в службах SSIS, а не SQL-запросов? - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь очистить поле в SQL-сервере, используя функции регулярного выражения вместо CLR.Тем не менее, запрос выполняется вечно.Мне интересно, если бы выполнение той же логики с использованием компонента сценария в SSIS было бы быстрее.

1 Ответ

0 голосов
/ 05 февраля 2019

Я никогда не встречал администратора баз данных, который позволял бы мне загружать сборки на сервер Prod!Но я определенно обнаружил, что манипулирование строками с помощью компонента сценариев SSIS было намного быстрее, чем использование CHARINDEX & SUBSTRING и т. Д. С помощью SQL.

SSIS может выполнять скомпилированный код .net, чтобы он мог выполнять все записи в буфере черезпараллельная задача скрипта при условии, что код неблокируемый.Попробуйте и поместите в буфер как можно больше строк, минимизируя «ширину» (размер столбца) вашего потока данных.Это может означать, что быстрее просто взять очищенные поля и первичный ключ и массово загрузить их в новую пустую таблицу.После этого вы всегда можете присоединить это обратно к исходной таблице ...

Так что я бы с оптимизмом ожидал, что SSIS сможет работать адекватно.Я бы, конечно, выполнил бы быстрый тест, так как код регулярного выражения c # для вашего компонента скрипта может быть в значительной степени снят и удален непосредственно из вашего существующего clr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...