2.2.30 Operands related to temporary tables

139) pd_max_temporary_object_no = maximum-number-of-temporary-tables-and-temporary-table-indexes-used-at-any-one-time
~<unsigned integer> ((0-131072))<<600>>
  • 0904 compatibility mode: <<0>>
Specifies the maximum number of temporary tables and temporary table indexes that can be used at any one time for each server.
Specification guidelines
Use the formula shown below to determine the value of this operand. For a HiRDB parallel server configuration, obtain the value for each back-end server.
Maximum value of (the number of transaction-specific temporary tables
+ total number of temporary table indexes for those temporary tables)[Figure] number of activities#
+ (number of SQL session-specific temporary tables used in the SQL session
+ total number of temporary table indexes for those temporary tables) [Figure] number of connected users
#
number of activities:
((value of pd_max_users + 3) [Figure] 2 + 1) + [Figure]
[Figure]: If the value specified for pd_max_users is 60 or less, 5; if it is 61 or greater, 0.
For a HiRDB parallel server configuration, this operand's value is applied to each back-end server. Therefore, as a guideline, specify the largest value used among all back-end servers in this operand.
Relationship to other operands
This operand is related to the pd_max_tmp_table_rdarea_no operand.
Effects on individual estimation formulas
If the value of the pd_max_temporary_object_no operand is changed, the following estimation formulas are affected:
HiRDB Version 9 Installation and Design Guide:
  • Formula 8 under Formulas for shared memory used by a single server
  • Formula 8 under Formulas for the size of the shared memory used by a back-end server
140) pd_tmp_table_initialize_timing = STARTING | ACCESS
Temporary table RDAREAs are normally initialized when HiRDB starts. Specify this operand if you want to change when the temporary table RDAREAs are initialized to a time other than when HiRDB starts. For details about the initialization of temporary table RDAREAs, see the HiRDB Version 9 Installation and Design Guide.
STARTING:
When HiRDB starts, initialize all temporary table RDAREAs that were used during the previous session.
ACCESS:
When the first INSERT statement is executed on a temporary table, initialize the temporary table RDAREA that has become the storage candidate. For details about the temporary table RDAREA that becomes the storage candidate, see Rules for choosing an RDAREA for storage in the HiRDB Version 9 Installation and Design Guide.
Notes
If ACCESS is specified, the overhead of initializing the temporary table RDAREA occurs when the first INSERT statement is executed on a temporary table since HiRDB started. Therefore, the transaction might be canceled for the following reasons:
  • The lock-release wait time was exceeded.
  • The HiRDB client's maximum wait time was exceeded.
You can determine the amount of overhead involved in initializing the temporary table RDAREA (number of directory pages that are initialized) using the following formula:
[Figure]1,000 [Figure] (50 [Figure] (page size[Figure] 2,048))[Figure]
+ [Figure][Figure]segment size of each HiRDB file
[Figure] (16,000 [Figure] (page size[Figure] 2,048))[Figure]
(pages)
Take into account the above overhead time when you specify the operands shown in Relationship to other operands.
Relationship to other operands
This operand is related to the following operands:
  • pd_lck_wait_timeout
  • PDCWAITTIME in the client environment definition