1
如何加快这里的速度并更快地更新行? 我知道这不应该是这样,任何人都可以推荐一个更好的做法。如何在VB.net中更快速地查询和更新
谢谢
Public Sub searchUpdate()
strSQL = "*Large query, including 3 tables"
cmd = New MySqlCommand(strSQL, CONNECTION)
dr = cmd.ExecuteReader()
ListView1.Items.Clear()
Do While dr.Read()
a = (dr.Item("users").ToString())
b = (dr.Item("b1").ToString() & "," & dr.Item("b2").ToString() & "," & dr.Item("b3").ToString() & "," & dr.Item("b4").ToString() & "," & dr.Item("b5").ToString() & "," & dr.Item("b6").ToString())
won = (dr.Item("number").ToString) * (dr.Item("input").ToString())
qt = (dr.Item("input").ToString)
updateForSearch(a, won, qt)
Loop
dr.Close()
cmd.Dispose()
CONNECTION.Close()
TextBox1.Text = Val(TextBox1.Text) + 1
Timer2.Stop()
End Sub`
功能更新:
Public Function updateForSearch(ByVal a As String, ByVal won As Integer, ByVal qt As Integer) As Integer
dr.Close()
strSQL = "UPDATE users SET status=2, qt='" & qt & "', bcvd='" & won & "' WHERE acvd='" & a & "'"
Dim da As New MySqlDataAdapter(strSQL, CONNECTION)
da.Fill(ds)
dr = cmd.ExecuteReader()
End Function
顺便说一句,这是我的查询:HTTP://pastebin.com/cTM1TgTj – user3224535
这是引擎收录和我的查询是2000字符太长回复这里 – user3224535
@ user3224535好的。该查询对我来说并不合适,而且我发现与问题无关。有问题的你选择“用户”,“b2”,“数字”,“输入”。可能对你来说最好的办法是从复杂查询中创建一个'View',然后使用该视图进行更新。规则仅为3:1 - 您的视图必须返回用于“用户”中字段分配的字段。 2 - 您的视图必须返回用于与“用户”加入的字段。 3.你的视图可能需要被聚合,你必须在'inner join'中有一个以上的匹配值。然后它会工作 –