Foxtable(狐表)用户栏目专家坐堂 → 补充效率提升的另一种情况(有修正,从390秒提升到2秒,从2秒提升到不到1秒)


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

主题:补充效率提升的另一种情况(有修正,从390秒提升到2秒,从2秒提升到不到1秒)

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/12/9 12:31:00 [显示全部帖子]

前一个代码执行时间:668.2183086

后一个代码执行时间:    3.9686992

 

比老大的慢了一倍了,电脑配置稍差些啊, 呵呵    。。。  但效果是相当明显的~~~

 

 


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/12/9 14:16:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-12-9 13:47:00的发言:

其实最优化的代码应该是,现在不到一秒了:

 

Dim s As Date = Date.Now()
Dim drs As List(of DataRow) = DataTables("表A").Select("", "项目, 日期")
drs(0)("累计支出") = drs(0)("支出")
For i As Integer = 1 To drs.Count - 1
    If drs(i)("项目") = drs(i - 1)("项目") Then
        drs(i)("累计支出") = drs(i-1)("累计支出") + drs(i)("支出")
    Else
        drs(i)("累计支出") = drs(i)("支出")
    End If
Next
Output.show("执行时间:" & (Date.Now -s).TotalSeconds)

这个更准确: 看图: 累计支出2 是上面最新代码计算的结果~~  


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

真是更快、更好、更强啦~~

[此贴子已经被作者于2010-12-9 14:23:57编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/12/9 14:28:00 [显示全部帖子]

帮助中的 Select(Filter,Sort)  应加个说明:这个Filter是可选项,如果为空【""】时,上面的例子就是另一个应用了。。。


 回到顶部