является ли SSIS-вставка объемной, такой же, как BULK-вставка? - PullRequest
5 голосов
/ 13 мая 2009

Я делаю массовую вставку CSV-файла в SQL Server 2005, используя пакет служб SSIS (не создан мной)

Я запускаю SQL Profiler и вижу оператор вставки как:

insert bulk [dbo].[stage_dht]( ..... )

но в этом утверждении нет предложения FROM, поэтому мне любопытно, как он получает данные, и является ли эта так называемая быстрая загрузка лучшим способом для объединения данных в SQL?

1 Ответ

4 голосов
/ 16 мая 2009

Да, задача «Массовая вставка» служб SSIS использует те же функции подчеркивания, что и команда BULK INSERT.

Скорее всего, вы увидите различия в SQL Profiler, потому что задача «Массовая вставка» будет использовать подчеркивающий COM-объект напрямую (который обеспечивает массовую вставку), а не просто является оболочкой GUI для команды T-SQL. Поэтому вместо того, чтобы указывать FROM, я предполагаю, что он передает открытый указатель потока ввода-вывода на COM-объект.

Массовая вставка в значительной степени является самым быстрым способом загрузки большого количества данных в SQL Server, поскольку он выполняется внутри процесса, «разделяя одно и то же адресное пространство памяти. Поскольку файлы данных открываются процессом SQL Server, данные не скопировано между процессом клиента и процессами SQL Server ". 1

Однако производительность может отличаться, если файл находится на том же компьютере, что и SQL Server, или нет.

1 Об операциях массового импорта и массового экспорта

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