home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Neueste VersionenFixList
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Haben Sie Probleme? - Kontaktieren Sie uns.
Kostenlos registrieren anmeldung-x26
Kontaktformular kontakt-x26

DB2 - Problembeschreibung

Problem IC65698 Status: Geschlossen

POTENTIAL QUERY PERFORMANCE DEGRADATION INVOLVING JOIN PREDICATES
THAT EQUATE THE NULL VALUE

Produkt:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problembeschreibung:
A new feature in Version 9.1 enables the DB2 query optimizer to 
consider join predicates, that equate the null value, as index 
start and stop keys. These join predicates have the following 
form: 
 
T1.A = T2.A OR (T1.A IS NULL AND T2.A IS NULL) 
 
If the data in the join columns is significantly skewed, then 
the optimizer may underestimate the cardinality of the join, and 
choose a less-than-optimal access plan.
Problem-Zusammenfassung:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ALL                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* A new feature in Version 9.1 enables the DB2 query optimizer * 
* to                                                           * 
* consider join predicates, that equate the null value, as     * 
* index                                                        * 
* start and stop keys. These join predicates have the          * 
* following                                                    * 
* form:                                                        * 
*                                                              * 
*                                                              * 
*                                                              * 
* T1.A = T2.A OR (T1.A IS NULL AND T2.A IS NULL)               * 
*                                                              * 
*                                                              * 
*                                                              * 
* If the data in the join columns is significantly skewed,     * 
* then                                                         * 
* the optimizer may underestimate the cardinality of the join, * 
* and                                                          * 
* choose a less-than-optimal access plan.                      * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 version 9.7 Fix Pack 2 and enable the         * 
* improvement if needed.                                       * 
****************************************************************
Local-Fix:
Defining a statistical view on the join will provide the 
required statistics to allow the optimizer to choose an optimal 
access plan.  The following is an example of such a view 
definition: 
 
CREATE VIEW S.SVIEW1 AS 
SELECT * 
FROM T1,T2 
WHERE T1.A1=T2.A2 OR (T1.A1 IS NULL AND T2.A2 IS NULL); 
 
ALTER VIEW S.SVIEW1 ENABLE QUERY OPTIMIZATION; 
 
RUNSTATS ON TABLE S.SVIEW1 WITH DISTRIBUTION;
verfügbare FixPacks:
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Lösung
Problem was first fixed in Version 9.7 Fix Pack 2. 
 
This fix addressed scenarios where a statistical view cannot be 
used.  To enable this improvement, the user must set the 
following registry variable: 
DB2_SELECTIVITY=JOIN_SKEW 
 
If the variable is already set, then multiple settings can be 
provided, separated by a comma.  For example: 
DB2_SELECTIVITY=YES,JOIN_SKEW
Workaround
see LOCAL FIX
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
20.01.2010
18.05.2010
18.05.2010
Problem behoben ab folgender Versionen (IBM BugInfos)
9.7.FP2
Problem behoben lt. FixList in der Version
9.7.0.2 FixList