IBM Support

IT32009: Basic predicate "DECFLOAT != BIGINT" results in poor query performance

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • A query may perform poorly if it includes a predicate of the
    form DECFLOAT != BIGINT.  For example:
    
         CREATE TABLE T1(DECFLOAT DECFLOAT(16), I INT);
         CREATE TABLE T2(I INT);
         CREATE VARIABLE BIGINT BIGINT;
    
         SELECT * FROM T1
         WHERE EXISTS (SELECT * FROM T2 WHERE T1.I=T2.I)
           AND T1.DECFLOAT != BIGINT;
    
    Normally, the correlated EXISTS predicate would be transformed
    into a join to improve performance.  However, the predicate "
    T1.DECFLOAT != BIGINT" prevents the optimization.
    

Local fix

  • Multiply the BIGINT by DECFLOAT(1)
    
         SELECT * FROM T1
         WHERE EXISTS (SELECT * FROM T2 WHERE T1.I=T2.I)
           AND T1.DECFLOAT != (BIGINT * DECFLOAT(1));
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * ALL                                                          *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to Db2 v11.1.4.6                                     *
    ****************************************************************
    

Problem conclusion

  • First fixed in Db2 v11.1.4.6
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT32009

  • Reported component name

    DB2 FOR LUW

  • Reported component ID

    DB2FORLUW

  • Reported release

    B10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-02-26

  • Closed date

    2021-03-17

  • Last modified date

    2021-03-17

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

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

    IT35065

Fix information

  • Fixed component name

    DB2 FOR LUW

  • Fixed component ID

    DB2FORLUW

Applicable component levels

[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"11.1"}]

Document Information

Modified date:
18 March 2021