以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何加快数据导入速度  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188491)

--  作者:ZJZK2018
--  发布时间:2023/9/22 12:53:00
--  如何加快数据导入速度
如何加快数据导入速度:
如果数据量大的话,用下面代码导入速度有点慢,有没有更快的办法?

Dim ndr As Row = Tables("AA").AddNew()
For n As Integer = 1 To elems.Count - 2
    Dim tds = elems(n).GetElementsByTagName("td")
    ndr = Tables("AA").AddNew()
    For tn As Integer = 0 To tds.Count -1
        ndr(tn) = tds(tn).InnerText
    Next
Next

--  作者:cd_tdh
--  发布时间:2023/9/22 13:07:00
--  
直接导入到数据库
--  作者:ZJZK2018
--  发布时间:2023/9/22 13:29:00
--  
怎么
直接导入到数据库


--  作者:有点蓝
--  发布时间:2023/9/22 13:33:00
--  
如果是SqlServer数据库,可以看看:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=159738&replyID=&skin=1

或者看看:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=147288



--  作者:ZJZK2018
--  发布时间:2023/9/22 18:45:00
--  
老师你们是表与表之间导入,我这个是大集合里面的数据导入到指定表里面,如何处理

Dim tds = elems(n).GetElementsByTagName("td")

--  作者:有点蓝
--  发布时间:2023/9/23 8:33:00
--  
禁止绘制
Tables("AA").StopRedraw
原来的代码
Tables("AA").ResumeRedraw

--  作者:ZJZK2018
--  发布时间:2023/9/23 14:21:00
--  
加上后速度没有什么加快,有没有其他办法??

Tables("AA").StopRedraw
Dim ndr As Row = Tables("AA").AddNew()
For n As Integer = 1 To elems.Count - 2
    Dim tds = elems(n).GetElementsByTagName("td")
    ndr = Tables("AA").AddNew()
    For tn As Integer = 0 To tds.Count -1
        ndr(tn) = tds(tn).InnerText
    Next
Next
Tables("AA").ResumeRedraw

--  作者:有点蓝
--  发布时间:2023/9/23 14:32:00
--  
没有办法,估计慢是GetElementsByTagName这种提取网页数据的功能,这种没有任何办法加速

4楼的方法只能是提高把数据直接保存到数据库的速度,没有办法提高遍历网页元素的速度