以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]动态加载  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=52492)

--  作者:chnfo
--  发布时间:2014/6/17 9:37:00
--  [求助]动态加载
现在有个项目,外部数据源,采用ACCESS2007作为共享数据库,有约40个表。 其中有一个 “项目总表”,与大约30个表建立了直接关联,是用项目ID做关联的。 问题是:现在项目启动时,要加载30个表,还要加载相应的数据,速度很慢。 想请教(不说30个表了,就说7个表吧): 例如项目关联了ABCDEFG这7个表,而A关联了BC,C又关联了DE,E又关联了FG。 看过了动态加载的帮助,感觉有点疑惑: 1、进入系统,肯定第一步要加载“项目总表”,此时是不是要同时加载BC表? 2、而C又关联了DE,E又关联FG,是不是表示加载A表时,DEFG表都要同时加载呢?
--  作者:有点甜
--  发布时间:2014/6/17 9:39:00
--  

 是的,必须同时加载。http://www.foxtable.com/help/topics/2755.htm

 


--  作者:Bin
--  发布时间:2014/6/17 9:39:00
--  
项目总表是父表的话,子表可以暂不加载,需要时再加载.

不能只加载子表而不加载父表, 但是可以只加载父表,不加载子表数据.

--  作者:blackzhu
--  发布时间:2014/6/17 9:40:00
--  
不会吧,40个表做关联 那就变成80个表  当然需要全部加载的
--  作者:chnfo
--  发布时间:2014/6/18 10:48:00
--  
追问。 我用了外部表来保存用户,菜单,以及用户的菜单权限,项目,以及项目用户。当然还有业务表。 现在登录时耗时较长,目前数据量不大,可能以后数据量大了会更慢。我目前在项目事件的beforeloadoutertable事件中,只加载了项目,用户,项目用户表这三个表的数据,其它表暂不加载数据,然后在afteropenproject事件中再加载其它表数据. 问题:打开项目耗时并不明显减少,反而登录后看不见菜单了。把菜单表和用户菜单权限表放到beforeloadoutertable事件里,才可以登录后看到菜单 请教: 象我这样的表多数据量大,该如何减少打开项目的耗时 用户多,权限点多,加载这个表的数据放在哪合适?登录界面或者beforeloadoutertable事件或其他地方?
--  作者:Bin
--  发布时间:2014/6/18 10:50:00
--  
afteropenproject 还是打开项目的事件啊,你在这里加载,和让他自然加载,没区别.


参考帮助动态加载,或者限制初始加载量,分页加载等方式吧