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