我試圖從Vb.Net插入大量的記錄到SQL Server 2005中。雖然插入工作正常,但我盡我所能努力盡快完成。目前,100,000條記錄需要大約11分鐘。從應用程序中將大量記錄插入SQL Server的建議方法是什麼?大量插入到SQL服務器
我目前的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
只要OP沒有記錄這些交易即可,這很好。使用BCP將消除回滾數據的能力(不像其大部分時間真正使用的那樣)。 – StingyJack 2008-12-02 18:28:08