DB2 - Problem description
Problem IC64120 | Status: Closed |
Performance Regression due to join between two or more tables with group by clause on inner table and fetch first N row | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
A performance regression has been noticed. The access plan has the following characteristics: NLJOIN | +---------+---------+ <ANY> GRPBY | TBSCAN 1. There is an Nested Loop Join on at least two tables. 2. The inner table of the Nested Loop join is a Group By operator 3. No eligible index(es) on the inner table. 4. Local predicate(s) applied on the inner table 5. Fetch First N Rows is specified above the join. Inner table refers to the table used as the inner leg of a join in the access plan generated by the Optimizer Example: select * from T1, (select x from T2 where y = 'NAME' group by x) where T1.x = T2.x order by T2.x fetch first 200 rows Recommended Workaround: 1. create index ix1 on T2(x) 2. RUNSTATS ON TABLE <schema>.T2 FOR INDEXES ALL | |
Problem Summary: | |
USERS AFFECTED: All PROBLEM DESCRIPTION: see ERROR DESCRIPTION PROBLEM SUMMARY: see ERROR DESCRIPTION | |
Local Fix: | |
Create qualified indexes on the all join columns of the inner table and perform runstats. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows | |
Solution | |
The complete fix for this problem first appears in DB2 UDB Version 9.7 FixPak 2. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 26.10.2009 18.05.2010 18.05.2010 |
Problem solved at the following versions (IBM BugInfos) | |
9.7. | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.2 |