DB2 - Problembeschreibung
| Problem IC95358 | Status: Geschlossen | 
UNEXPECTED OPTIMIZED STATEMENT FOR VIEW  | |
| Produkt: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2  | |
| Problembeschreibung: | |
DB2 may create unexpected optimized statement for view. 
 
bad/slow:  predicate is <case_exp> = <const> 
good/fast: predicate is <base_column> = <const> 
 
Rewrite rule CASEPRD changes the first predicate to, e.g., 
 
(((NULL = 'xxxxxx') AND 
    (Q1.AAAAAA = '')) OR 
   ((Q1.AAAAAA = 'xxxxxx') AND 
    (Q1.AAAAAA <> ''))) 
 = 'xxxxxx' 
 
Rule caseprd handles value NULL in the same way as regular 
constant and produce an equal predicate "(NULL = 'xxxxxx')". | |
| Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * DB2 UDB Version 10.5 * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to Version 10.5 FixPack 3. * ****************************************************************  | |
| Local-Fix: | |
Change (case AAAAAA when '' then null else AAAAAA end) to (case when AAAAAA <> '' then AAAAAA end) i.e. avoid using NULL value explicitly as a THEN clause. Then, predicate "(case when AAAAAA <> '' then AAAAAA end) = 'xxxxxx'" can be rewritten to "AAAAAA = 'xxxxxx'".  | |
| verfügbare FixPacks: | |
DB2 Version 10.5 Fix Pack 3 for Linux, UNIX, and Windows  | |
| Lösung | |
Problem was first fixed in DB2 UDB Version 10.5 FixPack 3.  | |
| Workaround | |
keiner bekannt / siehe Local-Fix  | |
| Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung:  | 27.08.2013 27.02.2014 27.02.2014  | 
| Problem behoben ab folgender Versionen (IBM BugInfos) | |
| Problem behoben lt. FixList in der Version | |
| 10.5.0.3 | 
 | 
| 10.5.0.3 | 
 |