DB2 - Problem description
Problem IC65989 | Status: Closed |
QUERY PERFORMANCE PROBLEM WITH A JOIN PREDICATE THAT INVOLVES A CASE STATEMENT THAT RETURNS A MIX OF CONSTANT AND COLUMN VALUES | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
The CASE statement used to generate a value that was applied as a start/stop key in an index access, but due to the rewrite of the CASE-based predicate to a series of "AND" and "OR" pedicates, the rewritten predicate is applied as a SARG predicate on an IXSCAN or TBSCAN | |
Problem Summary: | |
The CASE statement used to generate a value that was applied as a start/stop key in an index access, but due to the rewrite of the CASE-based predicate to a series of "AND" and "OR" pedicates, the rewritten predicate is applied as a SARG predicate on an IXSCAN or TBSCAN | |
Local Fix: | |
workaround is to replace one of the simple column expressions or constants in the 'THEN' portion of the WHEN clause with a more complex expression, or if the CASE does not return a NULL, wrap the CASE in a coalesce function (i.e. join_col = coalesce( CASE ... END, 1)) | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows | |
Solution | |
workaround is to replace one of the simple column expressions or constants in the 'THEN' portion of the WHEN clause with a more complex expression, or if the CASE does not return a NULL, wrap the CASE in a coalesce function (i.e. join_col = coalesce( CASE ... END, 1)) | |
Workaround | |
workaround is to replace one of the simple column expressions or constants in the 'THEN' portion of the WHEN clause with a more complex expression, or if the CASE does not return a NULL, wrap the CASE in a coalesce function (i.e. join_col = coalesce( CASE ... END, 1)) | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 02.02.2010 13.05.2010 13.05.2010 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.2 |