IBM Support

PH09753: MULTI INDEX ACCESS CHOSEN BASED ON A HIGH UNCERTAINTY PREDICATE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • An inefficient access path utilizing multi-index access can be
    selected based on a range predicate that can be grossly
    underestimated because it is either a host variable or a
    special register such as CURRENT DATE, CURRENT TIMESTAMP, etc.
    
    This can result in RID pool overflows and overall general poor
    performance.
    
    Additional symptoms and keywords.
    SQLPERFORMANCE SQLMIDX
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All Db2 12 for z/OS users running                            *
    * queries with predicates referencing                          *
    * parameter markers or special registers                       *
    * and using indexes.                                           *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * An inefficient multi-index access                            *
    * plan can be chosen where the 2nd                             *
    * index plan and beyond don't provide                          *
    * much extra filtering when the                                *
    * following conditions are met.                                *
    *                                                              *
    * (1) Only one extra matching range                            *
    * predicate is provided by the 2nd                             *
    * index plan and beyond.                                       *
    * (2) All other matching predicates                            *
    * from the 2nd index plan and beyond                           *
    * are overlapped with the 1st index                            *
    * plan.                                                        *
    * (3) The filter factor of the range                           *
    * predicate in (1) is underestimated                           *
    * because it references either a host                          *
    * variable or a special register such                          *
    * as CURRENT DATE, CURRENT TIMESTAMP,                          *
    * etc.                                                         *
    *                                                              *
    * The inefficient access plan will                             *
    * overall cause a suboptimal query                             *
    * performance problem.                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Apply corrective PTF when available                          *
    ****************************************************************
    An inefficient multi-index access plan can be chosen where the
    2nd index plan and beyond don't provide much extra filtering
    when the following conditions are met.
    
    (1) Only one extra matching range predicate is provided by the
    2nd index plan and beyond.
    (2) All other matching predicates from the 2nd index plan and
    beyond are overlapped with the 1st index plan.
    (3) The filter factor of the range predicate in (1) is
    underestimated because it references either a host variable
    or a special register such as CURRENT DATE, CURRENT TIMESTAMP,
    etc.
    
    The inefficient access plan will overall cause a suboptimal
    query performance problem. The reason is that Db2 failed to
    consider the uncertainty in the filter factor of the range
    predicates described in (2).
    

Problem conclusion

  • The performance problem described above is fixed by taking
    into account the uncertainty of the predicates that have
    DSN_PREDICATE_TABLE.UNCERTAINTY set.
    
    SQLPERFORMANCE SQLMIDX
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH09753

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-03-15

  • Closed date

    2019-10-21

  • Last modified date

    2019-11-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UI65971

Modules/Macros

  • DSNXOGCM
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RC10 PSY UI65971

       UP19/10/24 P F910

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.0","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
01 November 2019