Hierarchy
⤷ BC-DB-INF (Application Component) Informix
⤷ STUI (Package) Informix Database Monitor
Basic Data
Data Element | DSMAXSCANS |
Short Description | DS Max Scans |
Data Type
Category of Dictionary Type | D | Domain |
Type of Object Referenced | No Information | |
Domain / Name of Reference Type | SINT4_NOS | |
Data Type | INT4 | 4-byte integer, integer number with sign |
Length | 10 | |
Decimal Places | 0 | |
Output Length | 10 | |
Value Table |
Further Characteristics
Search Help: Name | ||
Search Help: Parameters | ||
Parameter ID | ||
Default Component name | ||
Change document | ||
No Input History | ||
Basic direction is set to LTR | ||
No BIDI Filtering |
Field Label
Length | Field Label | |
Short | 10 | DSMAXSCANS |
Medium | 15 | DS_MAX_SCANS |
Long | 0 | |
Heading | 0 |
Documentation
Definition
DS_MAX_SCANS limits the number of PDQ scan threads that the database server can execute concurrently. When a user issues a query, the database server apportions some number of scan threads, depending on the following values:
- The value of PDQ priority (set by the environment variable PDQPRIORITY or the SQL statement SET PDQPRIORITY)
- The ceiling that you set with DS_MAX_SCANS
- The factor that you set with MAX_PDQPRIORITY
- The number of fragments in the table to scan (
nfrags
in the formula)
The memory grant manager (MGM) tries to reserve scan threads for a query according to the following formula:
reserved_threads = min (nfrags, (DS_MAX_SCANS * PDQPRIORITY / 100 * MAX_PDQPRIORITY / 100) )
If the DS_MAX_SCANS part of the formula is greater than or equal to the number of fragments in the table to scan, then the query is held in the ready queue until as many scan threads are available as there are table fragments.
Once underway, the query executes quickly because threads are scanning fragments in parallel.
For example, if nfrags equals 24, DS_MAX_SCANS equals 90, PDQPRIORITY equals 50, and MAX_PDQPRIORITY equals 60, the query will not begin execution until nfrags scan threads are available. Scanning will take place in parallel.
If you cause the DS_MAX_SCANS formula to fall below the number of fragments, the query might begin execution sooner, but the query will take longer to execute because some threads will scan fragments serially.
If you reduce DS_MAX_SCANS to 40 in the previous example, the query needs fewer resources (12 scan threads) to begin execution, but each thread will need to scan two fragments serially. Execution will take longer.
History
Last changed by/on | SAP | 20041216 |
SAP Release Created in | 700 |