Scalable Database Server, HiRDB Version 8 Description

[Contents][Glossary][Index][Back][Next]

4.3 Page design

This section describes page statuses and explains page design policy.

Organization of this section
(1) Page statuses
(2) Page design policy
(3) Ratio of unused area in a page
(4) Allocating and releasing pages

(1) Page statuses

Table 4-3 lists and describes the statuses that are assigned to pages.

Table 4-3 Page statuses

Page status Description
Used page A page in which table or index data is stored. A used page that is completely filled with data such that no more can be added is called a full page, and a used page from which data has been deleted so that it no longer contains data is called a used free page.
Unused page A page that is not being used.
Free page A page in which no data is stored. Both used free pages and unused pages are called free pages.

(2) Page design policy

Pages must be designed with care, because the page size affects data I/O times. For details about page design, see the HiRDB Version 8 Installation and Design Guide.

(3) Ratio of unused area in a page

When you define a table or index, you can specify the ratio of unused area in a page. This concept is illustrated in Figure 4-4.

Figure 4-4 Ratio of unused area in a page

[Figure]

Explanation
  • In this example, the page unused area ratio is set to 30%.
  • The page unused area ratio is specified with the PCTFREE option of the CREATE TABLE or CREATE INDEX. This ratio can be specified in the 0-99% range; the default is 30%.
  • When data is loaded into the table, no data is stored in the unused area.

The data storage efficiency improves as the page unused area ratio becomes smaller. Increasing the page unused area ratio sometimes improves performance. For example, when data is updated, you can reduce the number of data I/O operations, provided that either of the following occurs:

For details about determining the page unused area ratio, see the HiRDB Version 8 Installation and Design Guide.

(4) Allocating and releasing pages

(a) Allocating pages

Pages are not allocated when the table is defined. Instead, pages are allocated as needed when data is saved to the table. Once a page is allocated (once it becomes a used page), it cannot be reused until it is released.

When an index is defined, the system allocates pages according to the number of data items to be included in the index. If there are no data items, only one page (root page) is allocated. However, if the EMPTY option is specified in the CREATE INDEX (index entries not to be created), no pages will be allocated.

Reference note
  • If data in a non-FIX table is updated and as a result there is a change in the row size, any area freed up by a reduction in the row size cannot be reused.
  • An index page cannot be reused until a key value that is identical to a key value that was stored in the deleted page is added.
Note
Reusing a page freed up by deletion of data is subject to the following restrictions:
  • The page cannot be used by VARCHARs of 256 bytes or greater, BINARY types, abstract data types, and branch rows of repetition columns.
  • The page cannot be used when data is inserted until the segment utilization rate reaches 100%.
  • A transaction that executes DELETE cannot use the space freed by the DELETE until COMMIT is issued.
(b) Releasing pages