DB2 - Problem description
Problem IT04291 | Status: Closed |
IO COST OF NLJOIN CAN BE SIGNIFICANT LOWER THAN IO COST OF INNER(RIGHT) IXSCAN-FETCH LEG IN RARE SITUATIONS | |
product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problem description: | |
IO cost for a NLJOIN can be much lower than the IO cost of the inner IXSCAN-FETCH leg, when the following conditions apply: * detailed statistics on indexes * local equality predicates on all index key columns * join predicate not included in that index, hence join is done via a sargable predicate in the FETCH The IO cost underestimation can lead to poor access plans chosen by optimizer. Example: NLJOIN ( 17) 19550.8 IO: 902.736 /--------+--------\ 359 243.801 ^HSJOIN FETCH ( 18) ( 22) 27.7845 23555.5 4 IO: 6663.77 /-----+-----\ /---+----\ 359 ... 110210 3.53472e+06 FETCH IXSCAN TABLE: XXX ( 19) ( 23) T2 20.8093 72.0577 Q4 3 15.7937 /----+-----\ | 359 359 3.53472e+06 IXSCAN TABLE: XXX INDEX: XXX ( 20) T1 I2 0.0982991 Q8 Q4 0 | 359 INDEX: XXX I1 Q8 * IO cost of NLJOIN( 17) much lower than IO cost of inner side, FETCH( 22) * Cardinality of outer leg, HSJOIN( 18) is 359, hence we have to do 359 lookups on inner side, this should add to IO costs accordingly * Join predicate between Q8 and Q4 used in FETCH( 22), join predicate cannot be pushed down to IXSCAN( 23) as the join column is not included in that index: (Q4.C2 = Q8.C2) * Equality predicate used in in IXSCAN( 23): (Q4.C3 = 37) | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 10.5 Fix Pack 5. * **************************************************************** | |
Local Fix: | |
Solution | |
First fixed in DB2 Version 10.5 Fix Pack 5. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 09.09.2014 20.04.2015 20.04.2015 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.5.0.5 |