1

INSERTクエリを実行するための最良の方法、または「練習」を見つけようとしています。私のソフトウェアは Visual Basic .NET で開発されており、MySQL リモート データベースにアクセスしています。毎日ループを実行し、少なくとも 50.000 レコードを挿入する必要があります。これをコーディングする最も最適化された方法は何でしょうか?.

今のところ、各レコードで接続を開き、INSERT クエリを送信しています。私はこれが最悪の方法であることを知っています。それが私がそれを改善するために取り組んでいる方法です。

ループ全体を小さなグループに分割し、それぞれ 1000 レコードのクエリを作成することを考えました。それほど大きくはありませんが、たくさんあります。

接続を維持し、接続、終了、接続などを回避するために、mysql_ping について何か読んだことがあります。このようにして、最初に作成された接続が 1 つだけでループを通過できました。

私は少し迷っています、あなたの推薦はどれですか?

君たちありがとう。

編集:これは、クエリを作成するために使用しているコードです:

    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

そして、ループの各 INSERT でこの関数を呼び出しています。

4

0 に答える 0