• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

请教:关于SETOBJACC与BLOCK操作的异同

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 21次 | 进入软件测试论坛讨论

领测软件测试网
1、SETOBJACC命令,可以使文件常驻内存,在运行程序前,先使用一下SETOBJACC命令,可以减少磁盘操作,提高效率;

2、在RPG程序中,定义文件时,使用BLOCK关键字,同时调用程序之前使用OVRDBF命令,也可以顺序读取文件,减少磁盘操作,提高效率。

那么,这两者之间有何异同?在实际运用时,要注意些什么问题?如果同时使用这两个命令,可能会有什么问题?

请各位DX指点,谢谢先。

 riancy1106 回复于:2005-03-10 17:47:54
关注ing

 qingzhou 回复于:2005-03-11 21:50:57
[b:e9c898c66f]Please reference nether article , maybe it can help you .[/b:e9c898c66f]

<如果有一公共程序频繁被调用,怎样才提高效率?>
[url]http://www.chinaunix.net/jh/10/413779.html[/url]

 海东青 回复于:2005-03-12 20:52:06
对于唯一关键字的数据文件来说,BLOCK会在运行时被忽略的

 胖有型 回复于:2005-03-13 15:08:40
TO qingzhou斑竹:首先,为qingzhou刚满月不久的小女问好。那篇大作之前已拜读过,就是因为看了之后,想比较一下SETOBJACC与BLOCK命令。因为以前我只会用BLOCK,还是看了blogliou的贴子后才尝试,效果的确明显。但不知道SETOBJACC和BLOCK之间的异同。比如它们的效率啊,对系统资源的占用,利用啊,两者会不会有什么冲突啊之类的问题。

TO海东青:“对于唯一关键字的数据文件来说,BLOCK会在运行时被忽略”,原来是这样,谢谢!

 yoyoage 回复于:2005-03-14 18:32:56
setobjacc & block 都是通过增加一次性读入的数据到内存池,减少磁盘I/o,达到改善性能的目的的。
SETOBJACC只是在对文件进行READ/UPDATE操作的时候才会有效果。对write操作是没有改善的。Block也是对write操作不能改善性能。

Block一般是用在某一次对文件的操作时用到。比如处理一个报表程序,一般需要依次读入每一笔数据。这样使用block能大大节省i/o时间。
而当一个数据文件被多个程序读入或者一个程序被多次调用的时候,使用setobjacc。比如subfile中读入的数据文件,或者一些公共数据文档,或者频繁调用的某个程序。

 hanyu 回复于:2005-03-15 08:28:54
yoyoage  好利害呀!

 riancy1106 回复于:2005-03-15 18:05:59
知道了

 yoyoage 回复于:2005-03-15 19:24:11
我在工作中其实也没用过,自己做过测试
其实很多东西自己动手试试就知道了,呵呵

 海东青 回复于:2005-03-15 20:19:20
[quote:f6935b8091="yoyoage"]Block也是对write操作不能..........[/quote:f6935b8091]

这个,block可以延迟写入的啊

 hanyu 回复于:2005-03-15 21:21:35
block 的目的,是开启数据库预读和异步写,当如果输出文件有唯一键字时,必须同步写,BLOCK实际被忽略。当输出文件有记日志,实际上由于日志项是同步写的,性能还是提升不大。实际上block对只读,无日志、无唯一键字只输出比较适用。

 胖有型 回复于:2005-03-16 10:23:14
大家的发言真精彩

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网