以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 效率问题求助 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=192357) |
-- 作者:lur320 -- 发布时间:2024/6/17 14:21:00 -- 效率问题求助 Dim t As New List(Of DataRow) For Each dr As DataRow In DataTables("QC数据").Select("文件名称 is not null") Dim d As DataRow d = DataTables("QC数据").find("文件名称 is null and 文件地址=\'" & dr("文件地址") & "\'") If d IsNot Nothing Then t.Add(dr) End If Next Output.Show(t.Count) 等了15分钟,没出结果。CPU15%,内存300M。没卡死就是慢。 DataTables("QC数据")大概18万行。 有什么办法优化下?
|
-- 作者:有点蓝 -- 发布时间:2024/6/17 14:38:00 -- 这代码想实现什么功能? |
-- 作者:lur320 -- 发布时间:2024/6/17 14:41:00 -- Dim t As New List(Of DataRow) For Each dr As DataRow In DataTables("QC数据").Select("文件名称 is not null") Dim d As DataRow d = DataTables("QC数据").find("文件名称 is null and 文件地址=\'" & dr("文件地址") & "\'") If d IsNot Nothing Then t.Add(dr) End If Next for each c as data row in t c("dup")=true next 完整的代码,就是为了查看这个表里面那些行重复了。运行时太慢,所以想先看看多少重复的行 老代码和新代码的不同,是一个保存了文件名称,一个没有。单其他信息是一样的。所以重复了 [此贴子已经被作者于2024/6/17 14:44:48编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/6/17 14:57:00 -- DataTables("QC数据").sqlreplacefor(dup,true,"文件名称 is null and 文件地址 in (select 文件地址 from [QC数据] where 文件名称 is not null)") |