Foxtable(狐表)用户栏目专家坐堂 → 导入报表


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

主题:导入报表

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/12 9:03:00 [显示全部帖子]

是文本文件导入数据慢,还是执行代码慢?文本文件正常导入了没?执行了什么代码?

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/12 10:56:00 [显示全部帖子]

这种计算方法肯定慢了,行数越多就越慢。

优化方法
1、不要每个计算就遍历所有行一次,放到一个for循环里对各种功能进行计算就行了
下面是2个循环
For i As Integer=0 To DataTables("库存表20211005").datarows.count-1
循环1的代码
Next 
Dim dr As DataRow
Dim du As DataRow
Dim dv As DataRow
For j As Integer=0 To DataTables("库存表20211005").datarows.count-1
循环2的代码
Next 

完全可以放到一个循环里做
For i As Integer=0 To DataTables("库存表20211005").datarows.count-1
循环1的代码
Dim dr As DataRow
Dim du As DataRow
Dim dv As DataRow
循环2的代码
Next 

所有的循环都可以合并为一个。这样表格有72000行,只需要循环72000次,原来的用法10个功能循环10次,也就是需要循环72000 * 10 = 720000次

2、看大部分计算方法都是从历史表里查询然后计算,这种建议使用SQLGroupTableBuilder进行多表关联统计:http://www.foxtable.com/webhelp/topics/1626.htm

 回到顶部