14.3 What are Row Chaining and Row Migration?

 < Day Day Up > 



Row chaining and migration is overflow of blocks to other blocks because data cannot fit into a single block. Additionally chained blocks might be spread across disk storage haphazardly, somewhat like overflow to a separate part of a disk storage area. A lot of row chaining and row migration can make for very poor performance.

More specifically row chaining occurs when a row is too large for a single block and thus the row is "chained" or spread across multiple blocks. Row migration occurs when updating, increasing the row size, prohibiting the whole row from fitting into a single block. Thus the row is migrated or moved elsewhere leaving only a pointer in the original block. It is possible that a row migration can lead to a row chain as well if the row is large enough. Row chains can be removed by table reconstruction such as recreating the table or using export and re-import.

Row migration can be minimized by way of allocating more empty (free) space in each block when the block is first used for insertion. The downside to increasing free space on initial block insertion is that rows will be less compacted and thus there will be fewer rows per block on average. High row to block ratios or row density leads to faster access time because there are more rows read per block read.

Row chaining is obviously more likely with smaller block sizes, either at the database level or in the smaller of variable block sized tablespaces.



 < Day Day Up > 



Oracle High Performance Tuning for 9i and 10g
Oracle High Performance Tuning for 9i and 10g
ISBN: 1555583059
EAN: 2147483647
Year: 2003
Pages: 164

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net