【问题标题】:How can I increase the speed of many insert statements?如何提高许多插入语句的速度?
【发布时间】:2013-09-30 02:52:27
【问题描述】:

我有一个 .NET 项目,它正在接收数据、对其进行处理,然后将其写入 SQLServer 数据库。假设我有以下代码。

Private Sub InsertRecord(val1 As Integer, val2 As Integer, ByRef dbConnection As      Data.SqlClient.SqlConnection)
    Dim cmd As SqlCommand = Nothing
    If dbConnection.State = ConnectionState.Open Then
        Dim strSql As String = "Insert Into MyTable(Value1, Value2) Values(@Value1, @Value2)"
        cmd = New SqlCommand(strSql, dbConnection)
        cmd.Parameters.AddWithValue("@Value1", val1)
        cmd.Parameters.AddWithValue("@Value2", val2)
        Dim returnVal = cmd.ExecuteNonQuery()
        If Not returnVal Then
            'do other stuff
        End If
        cmd.Dispose()
    End If
End Sub

有时我需要快速插入记录——比如每秒 500 条。照原样,它每秒只能处理大约 200 次插入。有没有办法组合多个命令一次处理?我需要知道每个插入语句的结果。

【问题讨论】:

    标签: sql-server performance sqlcommand


    【解决方案1】:

    您需要通过SqlBulkCopy 类提供的SQL Server 批量插入。对所有行使用一个事务。它会非常快。

    索引也参与其中,以及许多其他事情。此处信息不足,无法具体评论。

    【讨论】:

      猜你喜欢
      • 2021-11-15
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-20
      • 1970-01-01
      相关资源
      最近更新 更多