呵呵,我测试下面的代码不到3秒,只是这样的代码似乎没有什么实用的意义吧:
Dim t1 As Date = Date.Now
Dim dic As New Dictionary(of DataRow, DataRow)
Dim lst As New List(of Integer)
Dim drs As List(of DataRow)
Dim dr1 As DataRow
For Each dr1 In DataTables("表A").DataRows
drs = DataTables("表A").Select("[第二列] = " & dr1("第一列") )
For Each dr2 As DataRow In drs
If lst.Contains(dr2("_Identify"))= False Then
lst.add(dr2("_Identify"))
dic.Add(dr1, dr2)
Exit For
End If
Next
Next
For Each dr As DataRow In dic.keys
dr1 = dic(dr)
dr("第八列") = dr1("_Identify")
dr("第九列") = dr1("第一列")
dr("第十列") = dr1("第二列")
Next
Output.Show("计算结束, 耗时: " & (Date.Now - t1).TotalSeconds & "秒")
不过我倒有个意外收获,就是逻辑列的查询非常慢,追求效率的时候可以用整数或者字符列代替逻辑列。
[此贴子已经被作者于2010-12-15 8:01:01编辑过]