免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2710 | 回复: 7
打印 上一主题 下一主题

SETOBJACC/CLRPOOL命令使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-02-05 16:02 |只看该作者 |倒序浏览
实验了一下,把pf加入内存后再处理,一个6400万的表12分钟处理完。 但是,可悲的是没加到内存里处理的时候也是12分钟,对于有读写,顺序访问的表没必要用setobjacc

http://blog.chinaunix.net/uid-2271579-id-3487396.html

论坛徽章:
0
2 [报告]
发表于 2013-02-05 16:10 |只看该作者
本帖最后由 passthru 于 2013-02-05 16:55 编辑

"把pf加入内存后再处理,一个6400万的表12分钟处理完..."

‘处理’是什么?

在270环境下,读6400万条记录大约512秒。如果需12分钟,肯定每一条记录要经过‘处理’。用setobjacc把pf表装载或没有装载,这个pf表6400万条记录‘处理’,时间上都是一样。所以,肯定是每一条记录处理的时间与装载时间差别可以到用setobjacc的时间效果可以忽略不计。

论坛徽章:
0
3 [报告]
发表于 2013-02-06 08:49 |只看该作者
为了做测试,虚拟了一个场景,从表T1中读出,然后写入另一张表,再update T1的某个字段。

论坛徽章:
1
天蝎座
日期:2014-07-20 17:37:17
4 [报告]
发表于 2013-02-06 10:18 |只看该作者
270是啥……

论坛徽章:
0
5 [报告]
发表于 2013-02-06 13:11 |只看该作者
机器回复 4# uxyzp


   

论坛徽章:
0
6 [报告]
发表于 2013-02-06 16:31 |只看该作者
楼主能否将在2种不同情况下具体的i/o次数列出来?

论坛徽章:
0
7 [报告]
发表于 2013-02-07 10:12 |只看该作者
回复 6# qiao_zq
由于是顺序访问,具体的IO应该和之前是相同的。
这个实验也验证了setobjacc在实际应用中只适合带key pf的随机访问场景,而对于顺序访问的应用作用微乎其微。

以下是IBM的专家在讨论中给出的建议,这里同时也感谢一下:

key和LF提升访问数据的效率的前提是访问的数据量占全表的15%以下,访问的数据越小,效率提升越高。有些业务应用,不得不按照某个key来遍历全表,即按照某个列的顺序来访问全表数据,这种情况下,由于对于每个key的值,我们无法预计下一个要读取的记录在哪里,所以,无法使用预读取技术,大量的随机读取,会导致访问效率的急剧下降。此时,将PF和LF通过setobjacc置入private pool才有明显的性能提升。也就是您说的频繁随机读取数据,这种情况,才需要setobjacc。setobjacc大多在日终批处理或联机业务的静态参数表使用。

没有办法,让pf加载到内存中后,更新和写数据的时候和物理磁盘脱钩,实现近似于完全内存操作的效果,以提高效率。
答:pf加载到内存中后,更新和写数据就是在内存中完成的。对于单纯的写操作来说,内存操作和磁盘操作,效率差别不大,因为写入cache就算写操作完成。除非有特殊的设置,要求一定数据落硬盘。


   

论坛徽章:
0
8 [报告]
发表于 2013-02-08 12:27 |只看该作者
呵呵,节后,我测试一把再续这个话题。之前楼主所说的,我表示怀疑。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP