System Architecture 2-127
Data Pages and Data Row Storage
Multipage Storage
When OnLine receives a row that is longer than a page, the row is stored in
as many whole pages as possible. The trailing portion is less than a full page.
The page that contains the first byte of the row is the row home page. The
number of the home page becomes the logical page number contained in the
rowid. Each full page that follows the home page is referred to as a big-
remainder page. If the trailing portion of the row is less than a full page, it is
stored on a remainder page. Figure 2-28 illustrates the concepts of home page,
big-remainder page, and remainder page.
When a row is longer than one page but less than two pages, the home row
contains a forward pointer to a remainder page. The forward pointer is
always stored as the first four bytes in the data portion of the page. The
forward pointer contains the rowid of the next portion of the row. A flag
value is added to the slot table entry of the data row to indicate that a pointer
exists.
When a row is longer than two pages, the home row and each big-remainder
page contain forward pointers to the next portion of the data row.Figure 2-25
illustrates data storage for rows that are longer than two pages.
Figure 2-28
Data rows are
originally stored as
whole-page sized
segments,
measured from the
leading end of the
data row.
Data row represented in whole-page sized segments
Home page
Big-remainder page
Big-remainder page
Remainder page