Home | Previous Page | Next Page   Environment Variables > Environment Variables >

PDQPRIORITY

For Dynamic Server, the PDQPRIORITY environment variable determines the degree of parallelism that the database server uses and affects how the database server allocates resources, including memory, processors, and disk reads.

For Extended Parallel Server, the PDQPRIORITY environment variable determines only the allocation of memory resources.

Read syntax diagramSkip visual syntax diagram>>-setenv--PDQPRIORITY--+-HIGH--------------------------------+-><
                        +-LOW---------------------------------+
                        +-OFF---------------------------------+
                        '-resources--+----------------------+-'
                                     |  (1)                 |
                                     '--------,--high_value-'
 
Notes:
  1. Extended Parallel Server only
resources
Is an integer in the range 0 to 100. Value 1 is the same as LOW.

Value 0 is the same as OFF (for Dynamic Server only).

high_value
Optional integer value that requests the maximum percentage of memory (for Extended Parallel Server only). When you specify this value after the resources value, you request a range of memory, expressed as a percentage.

Here the HIGH, LOW, and OFF keywords have the following effects:

HIGH
When the database server allocates resources among all users, it gives as many resources as possible to the query.
LOW
Data values are fetched from fragmented tables in parallel.
OFF
PDQ processing is turned off (for Dynamic Server only).

Usually, the more resources a database server uses, the better its performance for a given query. If the server uses too many resources, however, contention for the resources can take resources away from other queries, resulting in degraded performance. For more information on performance considerations for PDQPRIORITY, refer to your IBM Informix: Performance Guide.

An application can override the setting of this environment variable when it issues the SQL statement SET PDQPRIORITY, as the IBM Informix: Guide to SQL Syntax describes.

Using PDQPRIORITY with Dynamic Server

The resources value specifies the query priority level and the amount of resources that the database server uses to process the query. When you specify LOW, Dynamic Server uses no forms of parallelism.

When PDQPRIORITY is not set, the default value is OFF.

When PDQPRIORITY is set to HIGH, Dynamic Server determines an appropriate value to use for PDQPRIORITY based on several criteria. These include the number of available processors, the fragmentation of tables queried, the complexity of the query, and additional factors.

Using PDQPRIORITY with Extended Parallel Server

The resources value establishes the minimum percentage of memory when you also specify high_value to request a range of memory allocation. Other parallel operations can occur when the PDQPRIORITY setting is LOW.

When the PDQPRIORITY environment variable is not set, the default value is the value of the PDQPRIORITY configuration parameter.

When PDQPRIORITY is set to 0, Extended Parallel Server can execute a query in parallel, depending on the number of available processors, the fragmentation of tables queried, the complexity of the query, and other factors. PDQPRIORITY does not affect the degree of parallelism in Extended Parallel Server.

An application can prevent changes to the PDQPRIORITY setting with the SET PDQPRIORITY IMMUTABLE or SET ALL_MUTABLES statements of SQL. You can also override the setting of this environment variable by issuing the SQL statement SET ENVIRONMENT to change the IMPLICIT_PDQ or BOUNT_IMPL_PDQ options, as the IBM Informix: Guide to SQL Syntax describes.

Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]