DB2 - Problem description
Problem IT03792 | Status: Closed |
NEGATIVE COLCARD CAUSES OPTIMIZER TO CHOOSE A BAD PLAN, RESULTING IN POOR QUERY PERFORMANCE. | |
product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problem description: | |
Negative COLCARD value can cause OPTIMIZER to choose a bad plan resulting in poor query performance. This issue can occur if all of the following conditions are present: 1. If COLCARD exceeds 2147483647. 2. Almost all possible values between high2key and low2key appear in the table. 3. The column is BIGINT type. 4. The column is not the leading column of any index. 5. The column is not unique. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 v10.5 FP5 or higher * **************************************************************** | |
Local Fix: | |
Workaround for this issue is to manually update COLCARD in SYSSTAT.COLUMNS table. You can do this as follows: 1. db2 "select count(distinct(<columnname>)) from <schema>.<tablename>" where: <columnname> is the name of the column with the negative COLCARD value. <schema> is the schema for the table. <tablename> is the name of the table. 2. Update the value as follows: db2 "UPDATE SYSSTAT.COLUMNS SET COLCARD=<value> WHERE COLNAME = '<coulmnname>' AND TABNAME = '<tablename>' AND TABSCHEMA = '<schema>' " where: <value> is the result of the query from step 1. | |
Solution | |
Fixed in DB2 v10.5 FP5 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 14.08.2014 27.01.2015 27.01.2015 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.5.0.5 |