Database Reference
In-Depth Information
When a row is updated and its size increases, the database engine tries to find enough free space in the block
where it's stored. When not enough free space is available, the row is split into two pieces. The first piece (containing
only control information, such as a rowid pointing to the second piece) remains in the original block. This is necessary
to avoid changing the rowid. Note that this is crucial because rowids might not only be permanently stored in indexes
by the database engine, but also be temporarily stored in memory by client applications. The second piece, containing
all the data, goes into another block. This kind of row is called a migrated row . For example, in Figure 16-4 , row 4 has
been migrated.
Figure 16-4. Updated rows that can no longer be stored in the original block are migrated to another one
When a row is too big to fit into a single block, it's split into two or more pieces. Then, each piece is stored
in a different block, and a chain between the pieces is built. This type of row is called a chained row . To illustrate,
Figure 16-5 shows a row that is chained over three blocks.
 
Search WWH ::




Custom Search