Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC84493 Status: Closed

THE OPTIMIZER MIGHT CHOOSE A SUB-OPTIMAL ACCESS PLAN FOR SQL USI NG RANGE
PREDICATES WITH PLACE HOLDER VARIABLE.

product:
DB2 FOR LUW / DB2FORLUW / A10 - DB2
Problem description:
The optimizer might choose a sub-optimal nested loop join 
(NLJOIN) access plan for an SQL statement containing range 
predicates with place holder variables, where the inner input of 
the NLJOIN is an index-anding (IXAND) access of the base table; 
e.g. 
. 
select ... from tab1, tab2 where tab1.COLA=tab2.COLA and 
tab1.COLB >=? and tab1.COLC < ?; 
You can collect an EXPLAIN of the statement to verify the access 
plan chosen by the optimizer shows an NLJOIN with an IXAND over 
a single base table access on the inner (right) input where the 
index scans below the IXAND apply the join and range predicates. 
If the inner input includes a TEMP, and the statement includes 
an IN predicate with place holder variables in the values list 
such as "tab1.COLD IN (?,?,?,?)" then APAR IC73877 is a likely 
candidate. 
. 
You can use the REOPT ONCE/ALWAYS option to solve this issue. 
The sub-optimal access plan can be chosen as a result of errors 
in the cardinality estimate due to the unknown values to be used 
in the range predicates such as tab1.COLB >=? and tab1.COLC < ?.
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ALL                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 Version 10.1 Fix Pack 1                       * 
****************************************************************
Local Fix:
You can use the REOPT ONCE/ALWAYS option to solve this issue.
available fix packs:
DB2 Version 10.1 Fix Pack 1 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 2 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 6 for Linux, UNIX, and Windows

Solution
First fixed in Version 10.1 Fix Pack 1.
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
14.06.2012
31.10.2012
31.10.2012
Problem solved at the following versions (IBM BugInfos)
Problem solved according to the fixlist(s) of the following version(s)
10.1.0.1 FixList
10.5.0.1 FixList