以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 有效率高的加载数据命令吗? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97974) |
||
-- 作者:明天的灵 -- 发布时间:2017/3/21 23:51:00 -- 有效率高的加载数据命令吗? 一个订单主表与订单明细表,其中订单明细表总共有5000多条数据 现已参考
并且停止刷新表 DataTables("订单明细表").StopRedraw DataTables("订单明细表").DataCols("品名").Expression = "" ‘现在加载条件为空,实际使用时,还要加入条件 DataTables("订单明细表").LoadFilter = “” DataTables("订单明细表").Load DataTables("订单明细表").ResumeRedraw 实测耗时近1分钟。 请问还要从哪方面去排查原因吗?
[此贴子已经被作者于2017/3/21 23:51:47编辑过]
|
||
-- 作者:wyz20130512 -- 发布时间:2017/3/22 -- 传实例看看。 |
||
-- 作者:明天的灵 -- 发布时间:2017/3/22 0:12:00 -- 有数据,不方便上传 |
||
-- 作者:狐狸爸爸 -- 发布时间:2017/3/22 7:30:00 -- 应该还有其它原因,最好有实例测试。 另: 网路环境,要控制数据加载量。
|
||
-- 作者:有点蓝 -- 发布时间:2017/3/22 8:43:00 -- 表事件是不是有计算代码,使用SystemReady呢?http://www.foxtable.com/webhelp/scr/2218.htm
|
||
-- 作者:有点色 -- 发布时间:2017/3/22 9:39:00 -- 你明细表,只有一个公式?下面的代码,如果还慢,说明你数据量大或者网络差。
systemready = false
|
||
-- 作者:明天的灵 -- 发布时间:2017/3/22 16:09:00 -- 是本地ACCESS数据源,应该是表事件有计算代码,晚上回去试试,谢谢各位! |
||
-- 作者:明天的灵 -- 发布时间:2017/3/22 22:06:00 -- 经测试,数据加载还是慢,加入 systemready = False .... systemready = True 测试的时间与以前一样,还是59秒。 我重新建立一个项目,并把外部数据连接到同一个本地的ACCESS数据文件,进行LOAD加载测试, 发现只需要0.2秒。 请问还有什么可以屏蔽吗?
|
||
-- 作者:有点色 -- 发布时间:2017/3/23 0:18:00 -- 以下是引用明天的灵在2017/3/22 22:06:00的发言:
我重新建立一个项目,并把外部数据连接到同一个本地的ACCESS数据文件,进行LOAD加载测试,
发现只需要0.2秒。
请问还有什么可以屏蔽吗?
1、你看看你的这个表,有多少个表达式列,把表达式列的公式去掉;
2、看看你这个表的 afterLoad、CurrentChanged 等事件,把代码屏蔽一下看看。 |
||
-- 作者:明天的灵 -- 发布时间:2017/3/23 10:42:00 -- 昨天测试时,在加载前已加入: SystemReady = False 按理应该与表事件无关了, 而且清空了这个表的所有表达式。 因“订单明细表”除了与订单主表有关联外,还有与出库明细表有关联,是不是也要要屏蔽有关联表的表达式? [此贴子已经被作者于2017/3/23 15:42:58编辑过]
|