DB2 - Problem description
Problem IC77634 | Status: Closed |
OPTIMIZER CHOOSES TABLE SCANS INSTEAD OF INDEX ON DPF WITH DB2_INLIST_TO_NLJN | |
product: | |
DB2 FOR LUW / DB2FORLUW / 950 - DB2 | |
Problem description: | |
When registry variable DB2_INLIST_TO_NLJN is enabled, in DPF environment, DB2 optimizer can choose a Table Scan on a query of the following nature even though there is an index that could be used. Query: SELECT * FROM "TABLE1" T_00, ( SELECT * FROM (VALUES CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72)), CAST (? AS VARCHAR(72))) AS T_01_TMP ("C_01") GROUP BY "C_01") AS T_01 WHERE T_00."C_01" = T_01."C_01" WITH UR Plan chosen: 38.8155 NLJOIN ( 3) 208.919 177 /------+------\ 2.22222 17.467 TBSCAN TBSCAN ( 4) ( 8) 0.0401435 99.371 0 85 | | 2.22222 6849 SORT TEMP ( 5) ( 9) 0.0396246 94.6416 0 85 | | 2.22222 6849 DTQ DTQ ( 6) ( 10) 0.0386532 92.6006 0 85 | | 20 6849 TBSCAN TBSCAN ( 7) ( 11) 0.000171107 90.6664 0 85 | | 20 6849 TABFNC: SYSIBM TABLE: GENROW SCHEMA1.TABLE1 Q1 Q4 The desired plan should make use of existing Index on TABLE1: 36.3512 NLJOIN ( 3) 302.628 40 /---------+---------\ 20 1.81756 TBSCAN FETCH ( 4) ( 7) 0.00939683 15.1393 0 2 | /----+----\ 20 1.81756 6849 SORT IXSCAN TABLE: SCHEMA1 ( 5) ( 8) TABLE1 0.00777578 7.57544 Q4 0 1 | | 20 6849 TBSCAN INDEX: SCHEMA1 ( 6) TABLE1_IX 0.000171107 Q4 0 | 20 TABFNC: SYSIBM GENROW Q1 | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * This APAR is a improvement on the Fix for APAR IY94892 POOR * * PERFORMING QUERY ACCESS PLAN CHOSEN FOR INLIST-TO-JOIN * * TRANSFORMATION IN DPF ENVIRONMENT * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 9.5 and Fix Pack 9 * **************************************************************** | |
Local Fix: | |
Use Optimization guidelines: <OPTGUIDELINES> <IXSCAN TABLE='"T_00"' INDEX='"TABLE1_IX"' /> </OPTGUIDELINES> | |
available fix packs: | |
DB2 Version 9.5 Fix Pack 9 for Linux, UNIX, and Windows | |
Solution | |
Problem was first fixed in DB2 Version 9.5 and Fix Pack 9 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 20.07.2011 10.03.2012 10.03.2012 |
Problem solved at the following versions (IBM BugInfos) | |
9.0., 9.5. | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.5.0.9 |