SAP ABAP Data Element DSMAXSCANS (DS Max Scans)
Hierarchy
SAP_BASIS (Software Component) SAP Basis Component
   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  
Heading  
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