Foxtable(狐表)用户栏目专家坐堂 → 意外发现,压缩项目确实能够大幅度提高某些方面的性能


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

主题:意外发现,压缩项目确实能够大幅度提高某些方面的性能

帅哥,在线噢!
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
意外发现,压缩项目确实能够大幅度提高某些方面的性能  发帖心情 Post By:2009/6/14 14:14:00 [只看该作者]

这个周末过得一点不痛快,因为内部表的Load性能大大地低于外部表,速度的差别竟然高达10倍。
绞尽脑汁,尝试了很多方法,所有可能的方面都尝试了,还是解决不了问题,正打算放弃的时候,无意中压缩了一下项目,结果Load的性能和外部表一样快了。
我是这么测试的,新建一个内部表,增加5万行数据,然后在命令窗口执行下面的代码:

dim s as date =date.now
currenttable.DataTable.Load()
output.show((date.now - s).TotalSeconds)

费时大概是50秒,如果我压缩项目后执行,费时大概是4.5秒。

我不能理解的是为啥打开文件的速度没有什么差别,唯独Load的差距这么大,这也是我没有考虑往压缩项目。

看来定期压缩项目以及外部数据源是应该,建议在非工作时间由专门人员执行。

 回到顶部
美女呀,离线,留言给我吧!
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/6/14 14:20:00 [只看该作者]

好消息,呵呵

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19223 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/6/14 15:06:00 [只看该作者]

如果让FoxTable能够聪明地自动压缩项目,那就更好了,既然压缩项目是很重要的。
还有对于FoxTable不支持直接压缩SQL Server,我有点点不满的,呵呵
这个建议如何?
[此贴子已经被作者于2009-6-14 15:06:59编辑过]

 回到顶部
帅哥,在线噢!
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

1、不需要频繁压缩项目的,我测试的只是一个极端,我用5000行测试的时候,就看不到差别。
2、SQL SERVER本身有压缩命令,在企业管理器应该可以通过设置达到定期压缩的目的
3、SQL SERVER的压缩,应该不会导致这么大的性能差别,我想这种差距是Access独有的。

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


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

那您就直接让程序在后台空闲时,自作主张悄悄压缩,省得大家总惦记他,不知可否?

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19223 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/6/14 16:01:00 [只看该作者]

以下是引用狐狸爸爸在2009-6-14 15:10:00的发言:
1、不需要频繁压缩项目的,我测试的只是一个极端,我用5000行测试的时候,就看不到差别。
2、SQL SERVER本身有压缩命令,在企业管理器应该可以通过设置达到定期压缩的目的
3、SQL SERVER的压缩,应该不会导致这么大的性能差别,我想这种差距是Access独有的。

图片点击可在新窗口打开查看


 回到顶部
帅哥,在线噢!
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

不能自作主张的,多用户的时候,没有办法判断系统是否空闲。
还是手工操作比较好。

 回到顶部
帅哥哟,离线,有人找我吗?
听雪落的声音
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:155 积分:1292 威望:0 精华:0 注册:2009/2/23 15:17:00
  发帖心情 Post By:2009/6/15 8:11:00 [只看该作者]

昨天也有一个意外发现,删除关联速度成几十倍提升

 回到顶部
帅哥,在线噢!
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

以下是引用听雪落的声音在2009-6-15 8:11:00的发言:
昨天也有一个意外发现,删除关联速度成几十倍提升


这是正常的,关联不能太多太复杂,
引用父表或子表的表达式列,可以动态增加,需要的时候再用代码增加。


 回到顶部
帅哥哟,离线,有人找我吗?
听雪落的声音
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:155 积分:1292 威望:0 精华:0 注册:2009/2/23 15:17:00
  发帖心情 Post By:2009/6/15 8:30:00 [只看该作者]

动态设置关联后,发现表达式不进行计算。
不知道哪里的原因。
在考虑是否抛弃关联,采用datacolchanged来填写数据。
哪个更好点儿,同志们给个建议。

[此贴子已经被作者于2009-6-15 8:35:26编辑过]

 回到顶部
总数 13 1 2 下一页