Bootstrap

ORACLE中的行迁移/行链接

ORACLE中的行迁移/行链接

——使用utlchain.sql解决行迁移/行链接

 

 

一. 什么是行链接和行迁移

1.   行链接

当一条记录太大,一个数据块无法将其存储时,Oracle就会将其存储在相链接的数据块中。如果一条记录中含有数据类型如:LONG、LONG RAW、LOB,行链接则无法避免。

2.   行迁移

当一个数据块已满,而一条记录在更新后长度增加了,或者表上新增加了字段,这时Oracle就会将整个记录迁移到一个新的数据块,原先的位置存放指向新位置的指针,这就是行迁移。记录的ROWID在行迁移之后保持不变

 

二. 行迁移对数据库性能的影响

上述情况对数据库的性能是有一定影响的。系统在访问一条记录时,正常情况只需要访问1个数据块,但是当出现行链接/行迁移后,就需要访问至少2个数据块,增大了至少1倍的系统开销。

 

;