以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 意外发现,压缩项目确实能够大幅度提高某些方面的性能 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3142) |
-- 作者:狐狸爸爸 -- 发布时间: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 -- 发布时间:2009/6/14 14:20:00 -- 好消息,呵呵 |
-- 作者:kylin -- 发布时间:2009/6/14 15:06:00 -- 如果让FoxTable能够聪明地自动压缩项目,那就更好了,既然压缩项目是很重要的。 还有对于FoxTable不支持直接压缩SQL Server,我有点点不满的,呵呵 这个建议如何? [此贴子已经被作者于2009-6-14 15:06:59编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2009/6/14 15:10:00 -- 1、不需要频繁压缩项目的,我测试的只是一个极端,我用5000行测试的时候,就看不到差别。 2、SQL SERVER本身有压缩命令,在企业管理器应该可以通过设置达到定期压缩的目的 3、SQL SERVER的压缩,应该不会导致这么大的性能差别,我想这种差距是Access独有的。 |
-- 作者:易狐 -- 发布时间:2009/6/14 15:11:00 -- 那您就直接让程序在后台空闲时,自作主张悄悄压缩,省得大家总惦记他,不知可否? |
-- 作者:kylin -- 发布时间:2009/6/14 16:01:00 -- 以下是引用狐狸爸爸在2009-6-14 15:10:00的发言:
1、不需要频繁压缩项目的,我测试的只是一个极端,我用5000行测试的时候,就看不到差别。 2、SQL SERVER本身有压缩命令,在企业管理器应该可以通过设置达到定期压缩的目的 3、SQL SERVER的压缩,应该不会导致这么大的性能差别,我想这种差距是Access独有的。 |
-- 作者:狐狸爸爸 -- 发布时间:2009/6/15 7:29:00 -- 不能自作主张的,多用户的时候,没有办法判断系统是否空闲。 还是手工操作比较好。 |
-- 作者:听雪落的声音 -- 发布时间:2009/6/15 8:11:00 -- 昨天也有一个意外发现,删除关联速度成几十倍提升 |
-- 作者:狐狸爸爸 -- 发布时间:2009/6/15 8:21:00 -- 以下是引用听雪落的声音在2009-6-15 8:11:00的发言:
昨天也有一个意外发现,删除关联速度成几十倍提升
|
-- 作者:听雪落的声音 -- 发布时间:2009/6/15 8:30:00 -- 动态设置关联后,发现表达式不进行计算。 [此贴子已经被作者于2009-6-15 8:35:26编辑过]
|