Foxtable(狐表)用户栏目专家坐堂 → 改用SQLCompute变的很慢


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

主题:改用SQLCompute变的很慢

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


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2015/3/18 14:06:00 [只看该作者]

以下是引用wjl-se在2015/3/18 13:59:00的发言:

局域网,外部ACCESS数据源,后台{产成品库}5万条数据,单次执行SQLCompute:

{订单表}计算入库:

rk = DataTables("产成品库").SQLCompute("Sum(入库)", "[订单号] = '" & e.DataRow("订单号") & "' And [入库方向] = '入库' And [入库日期] <= #" & mydate & "#")

 

慢的无法忍受啊,请问老师如何优化?


还是学习下SQL语句把,你这种统计要么用Foxtable的统计后台生成功能,要么就是用SQL语句生成视图直接调用。


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/3/18 14:08:00 [只看该作者]

你要是每次都要统计刷新所有行,你不如做个SQL查询表

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


加好友 发短信
等级:三尾狐 帖子:763 积分:6319 威望:0 精华:0 注册:2011/12/1 14:47:00
  发帖心情 Post By:2015/3/18 14:12:00 [只看该作者]

好,这样我也有个方向,再深入学习一下

谢谢各位!


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


加好友 发短信
等级:三尾狐 帖子:763 积分:6319 威望:0 精华:0 注册:2011/12/1 14:47:00
  发帖心情 Post By:2015/3/18 14:18:00 [只看该作者]

bin版给个链接,SQL查询表

谢谢


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/18 14:21:00 [只看该作者]

 关键是你现在要做什么功能啊,哪里慢啊

 

http://www.foxtable.com/help/topics/2321.htm

 


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


加好友 发短信
等级:三尾狐 帖子:763 积分:6319 威望:0 精华:0 注册:2011/12/1 14:47:00
  发帖心情 Post By:2015/3/18 14:27:00 [只看该作者]

就是根据一个全局日期变量,实时计算所有订单的库存。

前台:订单表2000行,后台:产成品库5万行,SQLCompute慢...

单条计算并不慢


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/18 14:40:00 [只看该作者]

以下是引用wjl-se在2015/3/18 14:27:00的发言:

就是根据一个全局日期变量,实时计算所有订单的库存。

前台:订单表2000行,后台:产成品库5万行,SQLCompute慢...

单条计算并不慢

 

1、考虑你订单表全部重新计算是否有必要;如果没必要,就用查询表或统计表代替;

 

2、你也可以先把5万行数据查出来,弄成一个临时表dt,然后compute,比如

 

Dim cmd As New SQLCommand
Dim
dt As DataTable
cmd.ConnectionName =
"数据源名称"
cmd.CommandText =
"SELECT * F  rom {员工}"
dt = cmd.ExecuteReader()


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


加好友 发短信
等级:三尾狐 帖子:763 积分:6319 威望:0 精华:0 注册:2011/12/1 14:47:00
  发帖心情 Post By:2015/3/18 14:48:00 [只看该作者]

谢谢甜版,我再学习下,感谢!

 回到顶部
总数 18 上一页 1 2