Я пытаюсь вставить массу записей в SQL Server 2005 из Vb.Net. Хотя вставка работает нормально, я прилагаю все усилия, чтобы попытаться сделать это как можно быстрее. В настоящее время требуется около 11 минут для 100 000 записей. Каким будет предлагаемый подход для вставки большого количества записей в SQL Server из приложения?
Мой текущий apporach в основном открывает соединение, повторяя мой список информации и снимая отдельные записи вставки sql, а затем закрывая соединение. У кого-нибудь есть лучшее предложение о том, как это сделать?
Текущая функция:
Public Sub BatchInsert(ByVal ParamCollections As List(Of SqlParameter()))
Dim Conn As SqlConnection = New SqlConnection(DBHelper.DatabaseConnection)
Using scope As TransactionScope = New TransactionScope()
Using Conn
Dim cmd As SqlCommand = New SqlCommand("sproc_name", Conn)
Conn.Open()
cmd.CommandType = CommandType.StoredProcedure
For i = 0 To ParamCollections.Count - 1
cmd.Parameters.Clear()
cmd.Parameters.AddRange(ParamCollections(i))
cmd.ExecuteNonQuery()
Next
Conn.Close()
scope.Complete()
End Using
End Using
End Sub