1

我试图找到最好的方法,或者“实践”来做一些 INSERT 查询。我的软件是在 Visual Basic .NET 上开发的,可以访问 MySQL Remote 数据库。我需要每天循环,并插入至少 50.000 条记录。对此进行编码的最优化方式是什么?

现在,我在每条记录上打开一个连接,然后发送 INSERT 查询。我知道这是最糟糕的方法,这就是我正在努力改进的方法。

我考虑将整个循环分成小组,每组查询 1000 条记录。他们不是太大,但他们很多。

我已经阅读了一些关于 mysql_ping 的内容,以保持连接处于活动状态并避免连接、关闭、连接等。所以这样我就可以在开始时只建立一个连接来完成循环。

我有点迷茫,你的建议是什么?

感谢你们。

编辑:这是我用来进行查询的代码:

    Public Function MYSQL_QUERY(ByVal QUERY As String) As Long
    Dim connStr As String = "Database=" & DB_NAME & ";" & _
                            "Data Source=" & DB_HOST & ";" & _
                            "User Id=" & DB_USER & ";Password=" & DB_PASSWORD


    Try
        Dim rowsEffected As Integer = 0
        Dim connection As New MySqlConnection(connStr)
        Dim cmd As New MySqlCommand(QUERY, connection)

        connection.Open()

        rowsEffected = cmd.ExecuteNonQuery()

        connection.Close()

        Return cmd.LastInsertedId
        Exit Function
    Catch ex As Exception
        MsgBox(ex.Message)
        Return -1
    End Try
End Function

我在 LOOP 的每个 INSERT 上调用这个函数。

4

0 回答 0