我试图从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