5.2.11 Allocating an unused area inside the data page (PCTFREE) [Row store table]
When defining a table as a row store table, consider the setting to use for the percentage of unused area in the data page. You cannot set the percentage of unused area in the data page when defining a table as a column store table.
You can use the PCTFREE operand in the CREATE TABLE statement to specify a percentage of unused area in the data page (page that stores base table data).
Executing either of the following commands stores base table data as a percentage of unused area specified for PCTFREE:
-
adbimport command
-
adbunarchivechunk command
However, if a base table is updated frequently, it might become impossible to store new rows on the same page. As a result, row positioning becomes fragmented, leading to performance degradation. If you expect to update a base table frequently, specify a high percentage of unused area to be reserved in the data page.
Guidelines for allocating an unused area in the data page follow:
- If you can estimate the number of rows that will be updated in the base table
-
Specify the value determined using the following formula in the PCTFREE operand.
Formula (%)
Explanation of variables
-
upd_row_num: Estimated number of rows to be updated (rows)
-
row_num: Number of rows in the entire base table (rows)
-
- If you cannot estimate the number of rows that will be updated in the base table
-
Specify 30 (%) (default value of the PCTFREE operand) for the percentage of unused area.
- If no rows in the base table will be updated
-
Specify 0 (%) for the percentage of unused area.