WEB开发网
开发学院数据库Oracle 在Oracle9i中使用多种Block Size 阅读

在Oracle9i中使用多种Block Size

 2006-08-05 11:58:36 来源:WEB开发网   
核心提示: 这个问题的答案和索引有关,大部分经过很好地调优的Oracle数据库都拥有和表数据差不多大小的索引,在Oracle9i中使用多种Block Size(3),对于索引来说,大的数据块无疑可以减少I/O,将尽量多的索引放到内存中是有好处的,Oracle 9i数据库管理员首先要做的其中一件事情就是

这个问题的答案和索引有关。大部分经过很好地调优的Oracle数据库都拥有和表数据差不多大小的索引。对于索引来说,大的数据块无疑可以减少I/O,从而可以提升整个数据库的性能。

所以,Oracle9i数据库管理员要做的第一件事可能就是创建一个32K的表空间,一个相应的32K大小的数据缓冲,然后将他们系统中的全部索引移植到这个32K的表空间中。通过这样,Oracle9i数据库就可以在一次磁盘I/O中读取相当数量的索引节点分枝,因此可以减轻系统的压力并且提高总体的性能。

将对象分配到多个块缓冲中

通过这种方式,我们就可以在Oracle数据库创建多个数据缓冲,那么我们怎样决定放些什么数据到这些数据缓冲中呢?

让我们先来看一些更常见的技巧。

隔离大表的全表搜索--对于要进行全表搜索的大表将会从最大的块大小中得益,它们应该被放在使用最大块大小的表空间。

仔细设置db_recycle_cache_size--如果你没有为服务器设置db_cache_size到支持的最大块大小,你将不应该使用db_recycle_cache_size参数。代替的是,你将要创建一个db_32k_cache_size(或者是你设置的最大值),并且将那些经常需要进行全表搜索的大表分配到最大的缓存中。

数据字典(Data Dictionary)使用默认的缓冲--你应该确保数据字典(例如你的SYSTEM表空间)经常全部缓冲到一个数据缓冲池中。要记住,确保SYSTEM表空间的数据缓冲拥有足够的内存来缓冲全部的数据字典块要比数据字典的块大小重要。

隔离索引--在许多情况下,Oracle的SQL语句将会通过一个索引范围搜索来得到索引的信息,根据SQL语句的条件,通过b树或者bitmap索引来搜索一定范围的值。因此,将尽量多的索引放到内存中是有好处的。Oracle 9i数据库管理员首先要做的其中一件事情就是将他们全部的Oracle索引转移到一个使用大的数据块的表空间中,索引性能将会由大的块中得到好处。

上一页  1 2 3 4 5  下一页

Tags:Oraclei 使用 多种

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接