Foxtable(狐表)用户栏目专家坐堂 → 时间巨无霸,谁可优化.


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

主题:时间巨无霸,谁可优化.

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
时间巨无霸,谁可优化.  发帖心情 Post By:2010/9/14 14:16:00 [只看该作者]

表A窗口按钮运行时间超长,谁可优化时间长度.

要求:使用外部数据源,不加载数据,直接从后台统计.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:my documents.rar

[此贴子已经被作者于2010-9-14 14:16:38编辑过]

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


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

字符型的你用sum???

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2010/9/14 15:04:00 [只看该作者]

这个不影响速度.

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/9/14 15:10:00 [只看该作者]

这样的任务,我也没有好的方法。

自己调整设计思路。


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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2010/9/14 15:13:00 [只看该作者]

先加载再统计,时间只有一秒.


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/9/14 15:25:00 [只看该作者]

这样的结果不是一样吗?

时间0.3秒

 

Dim s As Date = Date.Now()
Dim g As New GroupTableBuilder("统计表1", DataTables("表A"))
g.Groups.AddDef("第二列")
g.Totals.AddDef("第一列", AggregateEnum.Count)
g.FromServer = True
g.Build()
MainTable = Tables("统计表1")
MessageBox.Show((Date.Now -s).TotalSeconds)


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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2010/9/14 15:38:00 [只看该作者]

我需要在指定表中统计,而不生成新表"统计表1".


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/9/14 15:40:00 [只看该作者]

这个也不要1秒钟:

Dim a,b As Double
Dim cmd As New SQLCommand
Dim dt As datatable
cmd.Connection Name = "1"
cmd.CommandText = "SELECT * From {表A}"
dt = cmd.ExecuteReader()

a=now.second
For Each dr As Row In Tables("表C")
    dr("第一列") = dt.Compute("Sum(第一列)", "第二列 = '" & dr("第二列") & "'")
Next
b=now.second
messagebox.show(b & " " & a & "  " & b-a)

[此贴子已经被作者于2010-9-14 15:40:46编辑过]

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2010/9/14 15:48:00 [只看该作者]

我看看,先顶一下.

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2010/9/14 15:57:00 [只看该作者]

谢谢了.


 回到顶部
总数 13 1 2 下一页