【发布时间】:2010-03-18 16:06:39
【问题描述】:
我在 VB .Net 中做了一个导入程序,女巫从 SQLServer 获取数据,然后通过 ADSL 连接将这些数据插入到远程 MySQL 服务器中。
最初是 200 条记录,但现在有超过 500.000 条记录,导出所有数据需要花费 11 个小时,这很糟糕,非常糟糕。
我需要优化我的导入器,现在将数据放入数据表中,并且我有一个带有循环(行到行)的函数,通过“插入”查询插入数据... 像这样:
For Each dr As DataRow In dt.Rows
Console.Write(".")
Dim sql As String = "INSERT INTO clientes(id,nombrefis,nombrecom,direccion,codpos,municipio_id,telefono,fax,cif)" & _
"VALUES (@id,@nombrefis,@nombrecom,@direccion,@codpos,@municipio_id,@telefono,@fax,@cif)"
cmd = New MySqlCommand(sql, cnn)
cmd.Parameters.AddWithValue("id", Int32.Parse(dr("ID EMPRESA").ToString))
cmd.Parameters.AddWithValue("nombrefis", dr("NOMEMP"))
cmd.Parameters.AddWithValue("nombrecom", dr("EMPRESA"))
cmd.Parameters.AddWithValue("direccion", dr("DIRECC"))
cmd.Parameters.AddWithValue("codpos", dr("CODPOS"))
cmd.Parameters.AddWithValue("municipio_id", Int32.Parse(dr("CODIGO MUNICIPIO")).ToString)
cmd.Parameters.AddWithValue("telefono", dr("TELEF"))
cmd.Parameters.AddWithValue("fax", dr("FAX"))
cmd.Parameters.AddWithValue("cif", dr("CIF"))
cmd.ExecuteNonQuery()
Next
有什么想法或建议吗? 非常感谢
【问题讨论】:
标签: .net mysql sql-server