15.4 Designing list RDAREAs

Organization of this section
(1) Number of required list RDAREAs
(2) How to obtain a page length and a segment size
(3) How to obtain the number of segments

(1) Number of required list RDAREAs

You can use the following operands to specify the maximum number of lists that can be created per list RDAREA:

The permitted range of maximum values is 500 to 50000.

(2) How to obtain a page length and a segment size

A list contains its base table's row identifiers. Unlike in tables, no data is stored directly in the list; therefore, a comparatively large number of rows can be stored in one page. Note that if the specified page length and segment size are too large for the actual number of rows to be stored in the list, unneeded free space is created in the RDAREA.

To determine the page length and segment size for a list RDAREA, estimate the average number of rows in the list that may be created within the server, then specify the appropriate page length and segment size based on one of the following cases:

ConditionPage lengthSegment size
Average number of rows in a list created within the server is less than 300040961
Average number of rows in a list created within the server is 3000 to 600040962
Average number of rows in a list created within the server is more than 6000See (a)See (b)
(a) Obtaining the page length when the average number of rows in a list is more than 6000

Specify the page length in the range of 4096 to 8192. If you want to reduce the list input/output time by reducing the number of list input/output operations, a larger page size may be specified. If the page length is large, the required size of the global buffer also increases, thereby requiring a large amount of shared memory.

Specify the page length that satisfies the following condition:

Condition:

Number of rows that can be stored in one list page [Figure] average number of rows in the list created within the server [Figure] 2

To obtain the number of rows that can be stored in one list page, use the following formula:

Number of rows that can be stored in one list page = [Figure]{page length - 70 - (a [Figure] 8) [Figure] 4[Figure]

a: Total number of HiRDB files in the RDAREAs that contain the list's base table within the server

(b) Obtaining the segment size when the average number of rows in a list is more than 6000

The segment size is a unit size of space in an RDAREA that can be allocated to a single list. This means that one segment is the smallest size that can be allocated to a list. Following are the guidelines for the segment size:

(3) How to obtain the number of segments

You can use the following formula to obtain the number of segments required for a list RDAREA:

Formula
Number of segments required for a list RDAREA = [Figure]{[Figure]a[Figure] b[Figure][Figure] (c + 0.5)} [Figure]
a: Number of lists within the server
b: Number of list RDAREAs within the server
c: Average number of segments that are used per list
Obtain this value using the following formula:
[Figure]average number of rows in list within the server [Figure] number of rows that can be stored per list segment[Figure]

If a segment shortage occurs, the system can no longer create a list. Therefore, specify a sufficient value based on the number of segments obtained from the previous formula.