PDQPRIORITY specifies the relative amount of memory resources that a query requests. A query can request a percentage of memory or a minimum and maximum range of memory. The database server balances this request with the requests of other applications and determines the amount of memory that the query actually receives.
In Extended Parallel Server, the value of PDQPRIORITY does not affect the degree of parallelism. The database server determines the best degree of parallelism for each component of a PDQ query, based on various considerations such as the number of available coservers, the number of virtual processors (VPs) on each coserver, the fragmentation of the tables that are being queried, the complexity of the query, and so forth.
The PDQPRIORITY configuration parameter takes one of the values in the following table and affects all user sessions. If unset, the default value of PDQPRIORITY is 0.
If you do not specify this PDQPRIORITY parameter, 0 is the default setting.
Even when PDQPRIORITY is 0 or LOW, Extended Parallel Server can execute a query in parallel, depending upon the availability of multiple of coservers, multiple virtual processors, disks on which fragments of the data reside, and if the default size of memory is adequate to process the SQL operators involved in the query.
If you specify a single integer for PDQPRIORITY, the query can run only when the specified percentage of memory is available. If you specify a range of memory, you leave the choice of the actual PDQPRIORITY value to the discretion of the RGM, and the choice depends on the current workload. The largest PDQPRIORITY value in the range is the desired memory allocation, while the smallest PDQPRIORITY value is the minimum acceptable memory allocation for the query.
Although it is usually true that the more memory the database server uses, the better the performance for a given query, over-allocation can cause contention for memory and take away memory from other queries, resulting in degraded performance. For more information on performance considerations for PDQPRIORITY, refer to your IBM Informix: Performance Guide.
If the PDQPRIORITY environment variable is set, its value overrides the value of the PDQPRIORITY configuration parameter. An application can override the setting of the PDQPRIORITY environment variable when it issues the SQL statement SET PDQPRIORITY. However, regardless of what value is specified, the effective value of PDQPRIORITY is factored by the value of the MAX_PDQPRIORITY configuration parameter.
To modify the PDQPRIORITY parameter dynamically, use the onutil SET command. Example:
%onutil PDQPRIORITY 10;Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]