Dim st As Date = Date.Now
Dim dt As DataTable = DataTables("表A")
Dim dt1 As DataTable = DataTables("表B")
dt.LoadFilter = ""
dt.Load
dt1.LoadFilter = ""dt1.LoadMessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")st = Date.NowDim w As DataRowDim q As Integerdt1.AddNew(dt.Rows.Count)For Each dr As Row In dt.Rows
w = dt1.Find("pn = '" & dr("pn") & "'")
If w IsNot Nothing Then
If CDate(dr("approved")) > CDate(w("approved")) Then
w("po") = dr("po")
w("pi") = dr("pi")
w("approved") = dr("approved")
w("cost") = dr("cost")
End If
Else
q = dt1.Compute("count(pn)", "pn > ''")
w = dt1.DataRows(q)
w("po") = dr("po")
w("pi") = dr("pi")
w("pn") = dr("pn")
w("approved") = dr("approved")
w("cost") = dr("cost")
End If Next
MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")
dt1.DeleteFor("pn is null")
dt1.Save
表A的数据大概在25000多条,表B的数据大概在4000条,现在将表A的数据与表B的保留最大日期的数值,匹配合并到表B中,上述代码发现这个红色范围区域,这个匹配需要70多秒,速度比较慢!这个还能怎么优化?