My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > 操作系统 > IBM Server
请教:关于SETOBJACC与BLOCK操作的异同
作者:未知 时间:2005-09-13 15:50 出处:ChinaUnix.net 责编:My FAQ
              摘要:请教:关于SETOBJACC与BLOCK操作的异同

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
大家的发言真精彩

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有