DB2 - Problem description
Problem IC71516 | Status: Closed |
DB2 QUERY OPTIMIZER MIGHT NOT ELIMINATE OUTER JOIN WHEN AN ALWAYS FALSE PREDICATE IS APPLIED IN THE ON CLAUSE | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
The rewrite phase of the DB2 query optimizer might not eliminate an outer join when an always false predicate is applied in the on clause. The following query is a simple example of such a scenario: select t2.a from t1 left outer join t2 on 1=0; You can identify whether there are outer joins with false predicates in the optimized form of the SQL statement by using the EXPLAIN tool and examine the "Optimized Statement" for always false predicates such as "1=0". This fix will eliminate the redundant outer join, resulting in improved query execution performance. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * The rewrite phase of the DB2 query optimizer might not * * eliminate * * an outer join when an always false predicate is applied in * * the * * on clause. The following query is an example of such a * * scenario: * * * * * * select t2.a from t1 left outer join t2 on 1=0; * * * * * * * * You can identify whether there are outer joins with false * * predicates in the optimized form of the SQL statement by * * using * * the EXPLAIN tool and examine the "Optimized Statement" for * * * * always false predicates such as "1=0". This fix will * * eliminate * * the redundant outer join, resulting in improved query * * execution * * performance. * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 9.7 Fix Pack 4 * **************************************************************** | |
Local Fix: | |
You can manually rewrite the outer join to a single table access of the row preserving side of the join. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows | |
Solution | |
Problem was first fixed in Version 9.7 Fix Pack 4 | |
Workaround | |
See Local Fix. | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 28.09.2010 28.04.2011 28.04.2011 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP4 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.4 |