Foxtable(狐表)用户栏目专家坐堂 → 打开狐表项目的速度,以及动态生成表、动态绑定表的问题?


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

主题:打开狐表项目的速度,以及动态生成表、动态绑定表的问题?

帅哥哟,离线,有人找我吗?
狐狸爸爸
  31楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/9/5 8:32:00 [只看该作者]

呵呵,老爷机表现还算过的去,一般来说,不应该将几十万记录全部加载进来处理的。
特别是现在已经有直接针对后台的统计功能了。


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/9/5 8:43:00 [只看该作者]

一、10个关联? 在命令窗口执行一下:

output.show(Tables.count)

看看有多少个Table。

最好关闭双向关联,极端的时候甚至可以用别的方法替代关联。

二、网速再快,也不会有本机快。

三、我没有办法给出更好的建议,自己一个一个因素去排除吧,实际的测试,总比我的估计要好。

四、没有人拍我的马屁,这是你自己想出来的。

[此贴子已经被作者于2009-9-5 8:53:34编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2009/9/5 8:48:00 [只看该作者]

狐表是商业软件,这里每个人的发言都有广告效果,尤其是专业或准专业开发者,你提的问题、意见和建议应该有这方面的考虑,不要轻易怀疑狐表性能和系统。也许有些新进来的人,看到你提的这些问题和意见,可能对狐表产生错误的感觉而又出去了。狐表现在基本上可以满足不同层次的需要,是一款很有特色的开发软件,但要达到尽善尽美,满足所有的专业开发要求,需要时间,何况,有些问题并不是狐表的问题,因此应有包容心和耐心。


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/9/5 8:57:00 [只看该作者]

以下是引用狐狸爸爸在2009-9-5 8:32:00的发言:

呵呵,老爷机表现还算过的去,一般来说,不应该将几十万记录全部加载进来处理的。
特别是现在已经有直接针对后台的统计功能了。

呵呵~ 纯粹是测试的,实际中是不会这样加载的。
另外:就拿原来自己做的老文件(也有数万条且全是内部表)来比较,我真的觉得新版(新核心)的狐表的速度要比老版本的快很多了。 满意之····图片点击可在新窗口打开查看
不过,我的各种事件代码(加起来也就一两千行吧)没有那么多,窗口也较少。

[此贴子已经被作者于2009-9-5 9:00:29编辑过]

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


加好友 发短信
等级:一尾狐 帖子:495 积分:4013 威望:0 精华:0 注册:2008/10/10 19:36:00
  发帖心情 Post By:2009/9/5 9:03:00 [只看该作者]

以下是引用狐狸爸爸在2009-9-5 0:05:00的发言:
技术解答:

窗口是在打开的时候加载的,不是一启动就加载。
所以窗口多少不影响运行速度,再多的窗口也无所谓,因为窗口不是同时打开的。
如果表太多,自然影响打开速度,可以考虑:
1、对于结构相同的表,应该尽量合并为一个表。
2、用OuterTableBuilder和SQLTable动态生成,窗口问题可以用我今天介绍的方法解决。


关于性能:

今天的狐表性能是没得说的,不是王婆卖瓜,是事实。
不要动不动就归结于开发工具,同样的工具,在不同人的手上,会产生完全不同的效果。

60个表又如何,谁让你一次全部打开?
你在电脑同时开60个网页,会是什么样的结果?
尽用一些不切实际的东西讲性能,老实说,我看着有点恼火。

一个月前还有些许道理,今天讲完全是胡搅,因为现在根本就不存在所谓性能上的短板。
blackzhu的老古董电脑,之前要10分钟才打开项目,现在不也说打开速度非常好了吗。

再好的工具,也要合理使用,才会有好的结果,我不是神,只是一个普通的凡人,我没有办法设计一个随便怎么折腾都能运转如飞的软件。
世界上也不存在这样的软件!!!
[此贴子已经被作者于2009-9-5 0:43:07编辑过]

 
  抱歉!!!被C版误导了,以为窗口是先全部加载进来的!!!图片点击可在新窗口打开查看


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/9/5 9:05:00 [只看该作者]

我以前说过:DataTable也有Fill方法,Table的Fill其实调用的就是Datatable的Fill
以后可以公开这个方法,这样一个DataTable处理任意多个后台的表。

楼主的问题,根本就不涉及性能,只是设计方案好否的问题。
60个表出现在界面,还有10个关联,这该有多少个Table?而且还是网络环境,无论从哪个角度看,这都是一个不合理的设计方案,用这样极端的例子来怀疑Foxtable的性能,是很不恰当,很容易误导人的。

[此贴子已经被作者于2009-9-5 10:19:29编辑过]

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


加好友 发短信
等级:幼狐 帖子:147 积分:947 威望:0 精华:0 注册:2009/5/12 9:43:00
  发帖心情 Post By:2009/9/5 9:08:00 [只看该作者]

以下是引用cpayinyuan在2009-9-5 7:11:00的发言:

     
     贺老师,这次您的分析依然是完全错误的!我的项目中虽然有大概60个表,但只有一个主界面窗口是主窗口,除此之外没有再用一个主窗口代替表,我的项目中需使用表的地方全部使用DataList,而且,在项目中我只有大概10个关联(我接受了您的建议,能不用关联的地方尽量不用关联)。

 

    所以,既然贺老师的分析是错误的,所以,我对现在的现像就更不理解了。为什么C版的项目有60个表启动就很快,但我的项目有60个启动就非常慢,经过我分析,现在最大的区别只有三个:(1)我的项目中窗口比较多,事件代码也比较多(有表事件,也有窗口事件和系统事件);(2)我的表结构可能相对复杂一些(有些表的字段比较多)。(3)我用的外部数据源SQL server(但我是在局域网中登录,网速绝对没问题)。如果不是窗口事件的问题,那就请我们共同分析一下,为什么都是60个表启动速度差别这么大,到底是什么问题?

[此贴子已经被作者于2009-9-5 7:40:53编辑过]



        呵呵,发上您的文件才能进一步分析,否则大家只是蒙着说,也难怪老六也蒙不上,他只不过是在分析可能造成您的系统慢的原因之一,不看您的东东,自然命中率不高,您说得对,同样的foxtable做的东西,为什么人家那你快?
       老六好像说过DataList是鸡肋(foxtable是他一个代码一个代码写出来的,没有人能比他更了解foatable的强弱点到底在什么地方),已经是面临切除的“阑尾”,可您偏偏要认为他是整个“消化系统”的主要“器官”,是不是正好在体验鸡肋的味道?只有您和老六知道!估计这方面老六也不会进一步的改进,趁早改一改又何妨?CZY版主的为什么这么快,因为他正好避开了这块“鸡肋
” !
        这一点“在SQLTable出现之前,如果在打开项目时不一次全部打开,怎么建立表的事件代码(我的大部分表中都有事件代码)?”恐怕是cpayinyuan老兄的问题,基础性数据的录入要尽量整合到极少的表,没必要60多个表都需要去进行修改和录入,这样的话就好办了,作为统计表,尽可能用统计代码,一般不要用事件代码,理论上是可以做到的。话说回来,如果是统计表,您的系统更不应该有这么多表,只要不需要手工录入和修改的统计表,完全可以用临时表来完成,说实在的,您都可以将需要手工录入的数据尽可能整合到一个或少量的表中,调整表结构即可,有了临时表的统计功能,所有统计表都可以成为实际上只有一个临时表在反复使用,不停地动态删除、添加,按照您的需要修改和设置表结构)。
        还有您说过您的表、窗口控件都有很多事件代码,但是,如果是绑定到字段的控件(比如:文字框),完全可以只有表或文字框之间选择其一设事件代码,避免重复执行,降低效率。

        原因很多很多,这些都可能是已经存在的问题,看不到文件我只是猜猜而已!


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/9/5 10:03:00 [只看该作者]

以下是引用狐狸爸爸在2009-9-5 0:05:00的发言:
技术解答:

窗口是在打开的时候加载的,不是一启动就加载。
所以窗口多少不影响运行速度,再多的窗口也无所谓,因为窗口不是同时打开的。
如果表太多,自然影响打开速度,可以考虑:
1、对于结构相同的表,应该尽量合并为一个表。
2、用OuterTableBuilder和SQLTable动态生成,窗口问题可以用我今天介绍的方法解决。


关于性能:

今天的狐表性能是没得说的,不是王婆卖瓜,是事实。
不要动不动就归结于开发工具,同样的工具,在不同人的手上,会产生完全不同的效果。

60个表又如何,谁让你一次全部打开?
你在电脑同时开60个网页,会是什么样的结果?
尽用一些不切实际的东西讲性能,老实说,我看着有点恼火。

一个月前还有些许道理,今天讲完全是胡搅,因为现在根本就不存在所谓性能上的短板。
blackzhu的老古董电脑,之前要10分钟才打开项目,现在不也说打开速度非常好了吗。

再好的工具,也要合理使用,才会有好的结果,我不是神,只是一个普通的凡人,我没有办法设计一个随便怎么折腾都能运转如飞的软件。
世界上也不存在这样的软件!!!
[此贴子已经被作者于2009-9-5 0:43:07编辑过]

  狐爸,你还记的我的老古董电脑,说句实话,关联对启动速度真的影响非常大。我已经所有的关联全部去掉,利用动态加载功能和同步筛选功能,同样起到和关联一样的效果,当然要在窗口一起显示才行。但是去掉关联后,我启动的速度只有以前的3分之一。已经非常满意了。


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/9/5 10:22:00 [只看该作者]

以下是引用blackzhu在2009-9-5 10:03:00的发言:

  狐爸,你还记的我的老古董电脑,说句实话,关联对启动速度真的影响非常大。我已经所有的关联全部去掉,利用动态加载功能和同步筛选功能,同样起到和关联一样的效果,当然要在窗口一起显示才行。但是去掉关联后,我启动的速度只有以前的3分之一。已经非常满意了。


呵呵,佩服你的耐心,应该还有改进的地方。
现在电脑很便宜,为啥不换啊,2000来块的电脑性能就很不错了。

[此贴子已经被作者于2009-9-5 10:23:54编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/9/5 10:25:00 [只看该作者]

以下是引用mr725在2009-9-5 8:57:00的发言:

呵呵~ 纯粹是测试的,实际中是不会这样加载的。
另外:就拿原来自己做的老文件(也有数万条且全是内部表)来比较,我真的觉得新版(新核心)的狐表的速度要比老版本的快很多了。 满意之····图片点击可在新窗口打开查看
不过,我的各种事件代码(加起来也就一两千行吧)没有那么多,窗口也较少。

[此贴子已经被作者于2009-9-5 9:00:29编辑过]


其实代码和窗口的多少是不会影响速度的,关键是设计合理否。


 回到顶部
总数 86 上一页 1 2 3 4 5 6 7 8 9 下一页