Foxtable(狐表)用户栏目专家坐堂 → 效率问题求助


  共有1832人关注过本帖树形打印复制链接

主题:效率问题求助

帅哥哟,离线,有人找我吗?
lur320
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1032 积分:8989 威望:0 精华:0 注册:2015/8/12 16:28:00
效率问题求助  发帖心情 Post By: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万行。
有什么办法优化下?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/6/17 14:38:00 [只看该作者]

这代码想实现什么功能?

 回到顶部
帅哥哟,离线,有人找我吗?
lur320
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1032 积分:8989 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/6/17 14:57:00 [只看该作者]

DataTables("QC数据").sqlreplacefor(dup,true,"文件名称 is  null and 文件地址 in (select 文件地址 from [QC数据] where 文件名称 is not null)")

 回到顶部