Я только что натолкнулся на эту функцию в Oracle для своих приложений .Net и только что вставил 1,2 миллиона записей за 15 секунд, используя ODP.Net.
Мне бы хотелось, чтобы это производительность в SQL Server, поэтому мне было интересно, есть ли альтернатива / такая же функция в SQL Server?
Спасибо
Вот что я обнаружил:
В приложении одна из самых больших накладных расходов при вставке данных в база данных совершает поездки в БД для целей вставки. ADO.Net предоставляет механизм для копирования большого объема данных на сервер SQL используя SqlBulkCopy . Но для вставки больших объемов данных в Oracle База данных нам нужна помощь ODP.NET (поставщик данных Oracle для .NET). Предполагая, что ODP.NET уже установлен, добавьте ссылку на «Oracle.DataAccess» к вашему решению. Код ниже демонстрирует, как массовое копирование для oracle можно получить с помощью Array Binding.
В приложении одна из самых больших накладных расходов при вставке данных в база данных совершает поездки в БД для целей вставки. ADO.Net предоставляет механизм для копирования большого объема данных на сервер SQL используя SqlBulkCopy .
Но для вставки больших объемов данных в Oracle База данных нам нужна помощь ODP.NET (поставщик данных Oracle для .NET). Предполагая, что ODP.NET уже установлен, добавьте ссылку на «Oracle.DataAccess» к вашему решению. Код ниже демонстрирует, как массовое копирование для oracle можно получить с помощью Array Binding.
Мартин прав.
в SQL Server вы должны использовать SqlBulkCopy множество вопросов по этому поводу здесь, в SO:
В чем недостаток SqlBulkCopy
Я посмотрел на него, и в SQL Server есть BULK INSERT, который использует файлы для импорта данных, который работает быстрее, чем класс SqlBulkCopy
Однако, не выполняя точных тестов, я не уверен, как это работает против Oracle