免费注册 查看新帖 |

Chinaunix

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

表空间磁盘I/O设计注意事项 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-05 16:21 |只看该作者 |倒序浏览
表空间的类型和设计决定了对该表空间执行的I/O效率
        大块读取
在单个请求中检索多页(通常一个数据块)的一种读取。
        预取
在查询引用之前完成对数据页的读取,目的是缩短响应时间。
        页清除
页清除程序的任务就是把缓冲池中修改过的页写出。
无论何时,只要有利,DB2就会执行大块读取。一次读取的数据量取决于数据块大小。

数据库存储在磁盘上的方式影响I/O效率,在使用设备容器的DMS表空间中,数据往往在磁盘上连续的,且可以在最短的搜索时间和磁盘延迟内进行读取。若使用的是文件,在数据可能被文件系统分散,并存储在磁盘上的多个位置。SMS表空间的速率一般更低些。

可以通过更改CREATE TABLESPACE或ALTER TABLESPACE语句上的PREFETCHSIZE选项来更改预取的程度。(该数据库中所有表空间的缺省值由dft_prfetch_sz数据库配置参数设置。)PREFETCHSIZE参数告诉DB2在触发一个预取时要读取的页数。通过在CREATE TABLESPACE语句上将PREFETCHSIZE设置为EXTENTSIZE参数的倍数,可以并行读取多个数据块。(该数据库中所有表空间的缺省值由dft_extent_sz数据库配置参数设置。)EXTENTSIZE参数指定在跳至下一个容器之前将写入一个容器的4KB(默认页大小)大小的页数。

论坛徽章:
0
2 [报告]
发表于 2005-07-05 16:23 |只看该作者

表空间磁盘I/O设计注意事项

某些文件系统使用它们自己的预取方法(如,AIX上的“日志文件系统”)。在某些情况中,文件系统的预取设置的比DB2的预取更主动。这可能导致使用文件系统容器的SMS和DMS表空间的预取似乎比使用设备的DMS表空间的预取执行效率更高。但这是误导,因为它可能是在文件系统中发生的附加级别的预取的结果。DMS表空间应该能够比任何等效配置的执行效率高。

为提高预取效率(甚至读取效率),必须存在足够数量的干净缓冲池页。例如,可能由一个并行预取请求要从一个表空间读取三个数据块,对于正在读取的每一页,从缓冲池写出经过修改的一页,该预取请求可能被拖慢,导致它跟不上查询的进展。应配置足够数量的页清除程序,以满足预取请求。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP