数据表性能优化实例
2006-08-04 11:56:16 来源:WEB开发网核心提示:无论数据表采用了什么样的存储技术,经过一定的时间和事务处理运行后,数据表性能优化实例,在存储空间里都会产生一些“碎片”,从而导致性能下降,Reorg Wizard通过解决空间利用率来帮助管理员维护数据库,使之运行良好,此外,由于预先估计的不足
无论数据表采用了什么样的存储技术,经过一定的时间和事务处理运行后,在存储空间里都会产生一些“碎片”,从而导致性能下降。此外,由于预先估计的不足,很可能会发现已经定义的表空间的大小不能满足需要等情况,这些问题都是管理员进行数据库的日常管理维护过程中会遇到的问题,解决这些问题的一个有效的办法就是表的重组。
数据表性能下降的原因
1.迁移的数据行
对数据表的更新操作会引起数据行的扩展,因此当一个数据块中的空闲空间不足以容纳某个数据行时,这行数据将从初始的数据块移到重新分配的数据块中,这就是数据行的迁移,Oracle 9i系统必须在初始块中保留一个指针指向这一数据行所在的新块的ID,如果一个数据表中有很多迁移行,为了检索或更新发生迁移的数据行,每次操作必须读取两个数据块,这样表的性能必然会降低。
解决数据行的迁移的一个有效的办法就是设置有效的存储参数值“PCTFREE”,通过对表的数据的分析得出的统计信息可以帮助管理员确定一个合适的PCTFREE值。
2.链接的数据行
如果某个数据行的大小大于数据块的大小,比如LOB(Large Object,大对象)数据类型的数据表就极有可能会产生数据行的链接。在每个数据块里都要设计指针指向下一个数据块的ID。因此,当链接过多时也会造成性能的下降。
解决数据行的链接问题只能通过优化这些构成同一个数据行的数据块的存储,尽可能将他们存储在物理上相邻的数据块中。
重组的含义
重组,顾名思义,就是结构的重新组织。在Oracle 9i中提供了名为Reorg Wizard(重组向导)的操作。Reorg Wizard通过解决空间利用率来帮助管理员维护数据库,使之运行良好,Reorg Wizard 提供了3个重组功能。
更多精彩
赞助商链接