以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  效率???  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=183520)

--  作者:hbhb
--  发布时间:2022/11/8 11:32:00
--  效率???
大师:如下代码为何如此慢?????
dim jh1 as new list(of string)
Dim nnn As Integer
For Each dr As DataRow In dtpzb.DataRows  
    nnn = nnn + 1 
    If dr("pzzb9") <> 0 And dr.IsNull("pzzb9") = False Then     
        jh1 = dtpzb.GetValues("pzzb12", "pzzb8 is not null  And pzzb142 = \'" & dr("pzzb142") & "\'")     
    end if  

 
    jh1.Clear

    If nnn > 1000 Then
        Exit For
    End If 
Next

竟然要15秒,什么原因?dtpzb.DataRows .count = 36000行


--  作者:有点蓝
--  发布时间:2022/11/8 11:42:00
--  
如果只需要遍历前1000行,改为遍历table,不要遍历datatable
--  作者:hbhb
--  发布时间:2022/11/8 11:51:00
--  
我要处理后台百万级数据,1000行只是测试用,像这样不要运行几个小时???????
--  作者:有点蓝
--  发布时间:2022/11/8 12:02:00
--  
1、做个计划放到半夜执行
2、考虑做日结、月结、季结等,对阶段内的数据进行统计汇总,而不是每次都对所有的数据进行汇总

--  作者:hbhb
--  发布时间:2022/11/8 12:10:00
--  
我要对采集的Oracle数据库数据进行一次性处理保存。
--  作者:有点蓝
--  发布时间:2022/11/8 13:28:00
--  
那就只能做个计划慢慢处理了