• b9b8-最好的免费学习资料站!请记住我们的网址:www.b9b8.com
您当前位置: b9b8学习网文章资讯考试频道计算机考试ORACLE/CIW认证左右Oracle输入输出性能的块空间配置(1)

左右Oracle输入输出性能的块空间配置(1)

日期:01-23 15:54:33|b9b8学习网| http://www.b9b8.com |ORACLE/CIW认证|人气:719

左右Oracle输入输出性能的块空间配置(1),本站还有更多关于ORACLE/CIW认证,ciw认证,ciw认证考试,oracle认证,oracle认证考试,oracle认证体系相关的资料。www.b9b8.com

    块是Oracle在数据文件上执行输入输出操作的最小单位。数据库系统在读取数据文件时,就是以块为单位把数据读取到数据高速缓存中。如用户使用Select查询语句从数据文件中读取100条记录。这100条记录并不是一次性都到数据高速缓存中,而是根据块的的大小来读取。在Oracle数据库性能调整中,合理配置块空间参数,也是其中一个重要的环节。数据库管理员在建立表、索引等数据库对象时,通过合理使用块空间参数,可以控制数据块的剩余空间,降低数据块的访问冲突,提高数据库性能。

  Oracle数据库中,一个块就好像是一个面包,其会被分为好几个部分,每个部分都有不同的用途。如一部分被用来进行Update操作;一部分被用来进行Insert等其他操作等等。如何合理分配这个面包以优化数据库性能,这就是数据库管理专家所需要考虑的问题。

  一、利用Pctfree参数控制行迁移现象。

  Pctfree参数主要用来指定为Update操作预留的块空间比例,默认情况下,这个比例为10%。数据库管理员要更具Update操作的频率来合理调整这个比例。如果数据库管理员把这个比例设置为10%,如果当块剩余空间超过10%时,用户是可以进行数据插入、更新等操作的;但是,如果这个块的剩余空间不到10%时,插入操作将不能够使用这剩余的10%的块空间,而需要另辟领地。如果利用Update操作更新这个块中的记录时,这个剩余空间将会大大提高Update操作的性能。当然,前提是更新的内容不超过这个所预留空间的大小。否则的话,就会发生如下所说的行迁移现象。

  用户在进行Update操作时,很容易会产生行迁移的现象。那么什么叫作行迁移呢?举一个例子跟大家说明一下。假设在数据库中有一张销售订单头的表格(在管理系统中,出于性能的考虑,往往把销售订单分为订单头与订单行进行设计)。在建立这个表段的时候,我们假设把Pctfree参数设置为10(数据库块大小默认为2K)。那么当数据库块的剩余空间低于200字节时,数据库就不允许再在这个数据库块上继续插入数据。这个块上的数据是专门为Update操作所预留的。在订单头表中往往会有一个备注字段,用来保存一些对于订单的说明。往往这个字段是允许为空的,而且可以存储大量数据。假设当用户插入订单时,一开始不输入备注内容,就保存了。但是,后来业务员发现需要在订单中添加备注信息,就输入了长长一串文字说明,其总长度已经超过了200字节。此时,因为这个块剩余的空间已经不能够存储这些数据,Oracle数据库就会将整行数据都移动到新的块上去。这就是行迁移现象的本质。很明显,行迁移现象会增加数据库服务器额外的开销,从而影响数据库的性能。

  为了减少行迁移现象的发生,同时也不浪费宝贵的块空间,有如下建议。

  一是根据表或者表段更新的频率来确定Pctfree参数。如果把Pctfree参数设置的比较小,虽然可以节省空间,但是如果Update操作比较频繁的话,很容易会导致行迁移。所以如果表更新的比较少时,宜采用小的Pctfree参数。相反,如果把Pctfree参数设置的比较大的话,可以在块空间中为其保留比较大的容量,为此可以提高Update性能。所以如果数据库对象更新操作比较多,则宜采用比较大的Pctree参数。

  二是对于一些比较大的数据类型并且允许为空的字段,最好不要跟其他字段放在一起管理。像上面所提的备注字段,其可以跟另外一些允许为空、并且不怎么用的字段合成一张表,然后通过订单ID进行关联。如此就可以有效的避免行迁移现象,提高数据库性能。


如果觉得左右Oracle输入输出性能的块空间配置(1)不错,可以推荐给好友哦。
本文Tags:考试频道 - 计算机考试 - ORACLE/CIW认证,ciw认证,ciw认证考试,oracle认证,oracle认证考试,oracle认证体系

+评论

☉本站仅仅提供一个观摩学习的环境,将不对任何资源负法律责任。所有资源请在下载后24小时内删除。如果您觉得满意,请购买正版!

联系本站 - 教案中心 - 试题下载 - 教学反思 - 句子大全 - 收藏本站 - 文章阅读 - 全站地图 - 热门专题