Foxtable(狐表)用户栏目专家坐堂 → 文件递归速度不断变慢问题


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

主题:文件递归速度不断变慢问题

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


加好友 发短信
等级:一尾狐 帖子:454 积分:3241 威望:0 精华:0 注册:2019/11/3 22:21:00
文件递归速度不断变慢问题  发帖心情 Post By:2023/5/5 18:02:00 [只看该作者]

利用函数+代码来实现目录文件扫描入库(sql),刚开始速度达到700个文件/秒,到后来只有1个/秒

有办法解决吗?

函数如下:
Dim path As String = args(0)
Dim ls = args(1)
For Each file As String In FileSys.GetFiles(path)
    ls.add(file)
    Dim ifo As New FileInfo(file)
    If ifo.Extension = ".doc" Or ifo.Extension = ".docx" Or ifo.Extension = ".png" Or ifo.Extension = ".pdf" Or ifo.Extension = ".xlsx" Or ifo.Extension = ".zip" Or ifo.Extension = ".wps" Or ifo.Extension = ".jpg" Or ifo.Extension = ".pptx" Or ifo.Extension = ".txt" Or ifo.Extension = ".xls" Or ifo.Extension = ".bmp" Or ifo.Extension = ".jpeg" Or ifo.Extension = ".rar" Or ifo.Extension = ".ppt" Or ifo.Extension = ".chm" Or ifo.Extension = ".7z" Or ifo.Extension = ".dotx" Then '非此类文件不加载
        Dim r As Row = Tables("文件加载中转").addnew '表增加新行
        r("路径") = file '文件名及路径赋值到对应列
        r("文件名") = FileSys.GetName(file) '获取去掉路径的文件名赋值到对应列
        r("创建时间") = ifo.CreationTime
        r("最后修改时间") = ifo.LastWriteTime
        r("文件大小") = ifo.Length
        r("文件类型") = ifo.Extension
    Else
    End If
Next
For Each p As String In FileSys.GetDirectories(path) '循环调用自身代码
    Functions.Execute("ftp文件递归", p, ls)
Next

代码如下:
If DataTables.Contains("hplnpf") = False Then '如果表没有加载
    DataTables.Load("hplnpf") '加载表"
End If
MainTable = Tables("hplnpf") '切换表
Dim lg As New List(Of String)
Functions.Execute("ftp文件递归", "D:\电子文档管理", lg)
[此贴子已经被作者于2023/5/5 18:04:10编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/6 8:42:00 [只看该作者]

关闭杀毒软件,安全卫士,电脑管家之类的

 回到顶部