Foxtable(狐表)用户栏目专家坐堂 → [求助]项目启动慢的原因在BeforeLoadOuterTable?


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

主题:[求助]项目启动慢的原因在BeforeLoadOuterTable?

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
[求助]项目启动慢的原因在BeforeLoadOuterTable?  发帖心情 Post By:2016/11/17 12:04:00 [只看该作者]

经多次测试,可以采信下列项目启动时间记录:
BeforeOpenProject 开始 2016-11-17 09:11:23 '在注册表中修改本机的系统日期和时间格式
BeforeOpenProject 结束 2016-11-17 09:11:23 '检查项目文件是否在固定的文件夹中

BeforeConnectOuterDataSource 开始 2016-11-17 09:11:23 '外网
BeforeConnectOuterDataSource 结束 2016-11-17 09:11:24 '用1秒钟ping内网的IP地址,确定选择内网还是外网的IP地址

BeforeLoadInnerTable 开始 2016-11-17 09:11:25 '4张内部表,不加载任何数据
BeforeLoadInnerTable 结束 2016-11-17 09:11:25 'e.Filter = "[_Identify] Is Null"

BeforeLoadOuterTable 开始 2016-11-17 09:11:25 '30张外部表,不加载任何数据,在“设置外部表”中设置过滤条件
BeforeLoadOuterTable 结束 2016-11-17 09:11:41 '竟然用了16秒

Initialize 开始 2016-11-17 09:11:43
Initialize 结束 2016-11-17 09:11:43

AfterOpenProject开始 2016-11-17 09:11:46
……

项目发布后,用户运行项目时的更新用时:
AfterOpenProject 检查更新开始 2016-11-17 09:47:39 '检查更新 If Syscmd.Project.Update(False,False) = False Then 
AfterOpenProject 检查更新结束 2016-11-17 09:48:02 '竟然用了22秒

启动OpenQQ用时:
AfterOpenProject 启动OpenQQ开始 2016-11-17 09:48:05 'OpenQQ启动
AfterOpenProject 启动openQQ结束 2016-11-17 09:48:11 '在无法连接时用了6秒

由此可见,启动的主要时间浪费在BeforeLoadOuterTable事件(16秒)和检查更新(22秒)中。
如果不考虑检查更新所需时间,则BeforeLoadOuterTable事件用时太可怕了。

声明:已经清除了“检查发行商的证书是否吊销”的勾选状态。
[此贴子已经被作者于2016/11/17 12:06:57编辑过]

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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/17 12:27:00 [只看该作者]

 加载表结构也是耗时的。你可以尝试连表也不加载。

 回到顶部