SET CURRENT DEGREE

The SET CURRENT DEGREE statement assigns a value to the CURRENT DEGREE special register.

Invocation

This statement can be embedded in an application program or issued interactively. It is an executable statement that can be dynamically prepared. It must not be specified in REXX.

Authorization

The privileges held by the authorization ID of the statement must include the system authority of *JOBCTL.

Syntax

Click to skip syntax diagram
Read syntax diagramSkip visual syntax diagram                        .-=-.
>>-SET--CURRENT DEGREE--+---+--+-string-constant-+-------------><
                               +-variable--------+
                               '-DEFAULT---------'
 

Description

The value of CURRENT DEGREE is replaced by the value of the string constant or variable. The value must be a string with an actual length that is not greater than 5 after trimming any leading and trailing blanks. The value must be one of the following:

1
No parallel processing is allowed.
2 through 32767
Specifies the degree of parallelism that will be used.
ANY
Specifies that the database manager can choose to use any number of tasks for either I/O or SMP parallel processing.

Use of parallel processing and the number of tasks used is determined based on the number of processors available in the system, this job's share of the amount of active memory available in the pool in which the job is run, and whether the expected elapsed time for the operation is limited by CPU processing or I/O resources. The database manager chooses an implementation that minimizes elapsed time based on the job's share of the memory in the pool.

NONE
No parallel processing is allowed.
MAX
The database manager can choose to use any number of tasks for either I/O or SMP parallel processing. MAX is similar to ANY except the database manager assumes that all active memory in the pool can be used.
IO
Any number of tasks can be used when the database manager chooses to use I/O parallel processing for queries. SMP is not allowed.
variable
Specifies a variable that contains the value for the CURRENT DEGREE.

The variable:

string-constant
A character constant. The length of the constant must not exceed 5.
DEFAULT
If the PARALLEL_DEGREE parameter in a current query options file (QAQQINI) is specified, the CURRENT DEGREE will be reset to the PARALLEL_DEGREE. Otherwise, the CURRENT DEGREE will be reset from the degree specified by the QQRYDEGREE system value.

Notes

Transaction considerations: The SET CURRENT DEGREE statement is not a commitable operation. ROLLBACK has no effect on CURRENT DEGREE.

Initial current degree: The initial value of CURRENT DEGREE is equal to the parallelism degree in effect from the CHGQRYA CL command, PARALLEL_DEGREE parameter in the current query options file (QAQQINI), or the QQRYDEGREE system value.

Parallelism degree precedence: The parallelism degree can be controlled in several ways. The actual parallelism degree used is determined as follows:

For more information, see Database Performance and Query Optimization.

Current degree scope: The scope of CURRENT DEGREE is the job.

Parallel limitations: If the DB2® UDB Symmetric Multiprocessing feature is not installed, a warning is returned and parallelism is not used.

Some SQL statements cannot use parallelism.

Example

Example 1: The following statement sets the CURRENT DEGREE to inhibit parallelism.

  SET CURRENT DEGREE = '1' 

Example 2: The following statement sets the CURRENT DEGREE to allow parallelism.

  SET CURRENT DEGREE = 'ANY' 


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