网站服务器空间选择,大兴网站定制开发,做网站哪里最便宜,wordpress文章图以下是翻译Christian Antognini的《Troubleshooting Oracle Performance》P422#xff0c;关于block prefetching介绍#xff1a;在正常情况下#xff0c;每个基于单个数据块的处理(如rowid访问和Index range scan)#xff0c;如果缓存中不存在该数据块#xff0c;将导致单…以下是翻译Christian Antognini的《Troubleshooting Oracle Performance》P422关于block prefetching介绍在正常情况下每个基于单个数据块的处理(如rowid访问和Index range scan)如果缓存中不存在该数据块将导致单个数据块的物理读操作。对于Nested Loop关联来说特别是进行多行处理单数据块物理读将变得没有效率。事实上通常NL关联通过多个单数据块物理读来访问多个连续的数据块。为了有效提高NL关联数据库引擎利用block prefetching优化器目标是用一个多数据块物理读来替代多个单数据块物理读多数据块物理读不单单针对表也针对索引。查看访问路径我们无法获知数据库引擎是否使用prefetching只能从server进程执行物理读来窥探特别是等待事件中相关信息1、db file senquential read 事件对应是单数据块物理读如果发生该等待事件表示block prefetching没有被使用或者是所需的数据块已经在缓存中。2、db file scattered read事件对应是多数据块物理读因此如果发生ROWID访问或Index Range Scan意味着blcok prefetching被使用。非常重要一点是我们无法控制block prefetching的使用只能是数据库引擎决定是否使用block prefetching。注 参看metalink 406966.1介绍table prefetching 可能导致错误的结果。来自 “ ITPUB博客 ” 链接http://blog.itpub.net/354732/viewspace-619397/如需转载请注明出处否则将追究法律责任。