在Oracle9i中使用多种Block Size
2006-08-05 11:58:36 来源:WEB开发网核心提示: 内存缓冲中保留着Oracle访问过的数据块,在缓冲中的数据读取速度要比由磁盘中读取要快14,000倍,在Oracle9i中使用多种Block Size(2),内存数据缓冲已经由Oracle7的单一缓冲发展为Oracle8i中的三个数据缓冲,它们的名字分别是KEEP pool,RECYCLE
内存缓冲中保留着Oracle访问过的数据块,在缓冲中的数据读取速度要比由磁盘中读取要快14,000倍。内存数据缓冲已经由Oracle7的单一缓冲发展为Oracle8i中的三个数据缓冲。它们的名字分别是KEEP pool,RECYCLE pool和 DEFAULT pool(如图1所示)。
****************图一***************
Oracle数据缓冲
在Oracle9i中我们仍然有三个数据缓冲,不过我们还可以为Oracle服务器支持的每个块大小创建一个数据缓冲(如图2所示)。
************图2-Oracle9i的8个数据缓冲*******
在每个数据缓冲中,由数据缓冲的命中率可以知道一个数据块处在内存中的可能性。在数据缓冲间分配内存页以确保内存缓冲的最优利用是Oracle管理员的工作。有时通过增加一些缓冲就有明显的效果(见图3)
************图三***************
(增加到一个小的数据缓冲的内存页)
随着内存缓冲的增加,增加页面带来的好处就会下降(如图4所示)。
**************图4***************
在大的数据缓冲下,由此而带来的好处下降
索引和大的数据块
在Oracle9i前,Oracle的专家发现通过将整个数据库移植到更大的数据块,可以减少磁盘的I/O,从而令整个系统的性能得到提升。由表面看来这有点不符合常理,人们可能会问"如果我只需要一个80字节的行,那么读取16K的块又有什么好处呢?"
更多精彩
赞助商链接