DB2 - Problem description
| Problem IC73096 | Status: Closed |
POOR PERFORMANCE FOR QUERIES WITH "GENROW" TABLE FUNCTION RUN FROM CLP PACKAGES BIND WITH 'INSERT BUF' OPTION | |
| product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
| Problem description: | |
In V9.7 on DB2 Linux, Unix Windows systems with the Data
Partitioning Facility (DPF), when CLP packages are bound with
the 'insert buf' option, queries that use a "GENROW" function
can perform very poorly due to the use of Listener Table Queue
accesses and/or the coordinator node for producing query results
that involve the "GENROW" function
You can identify if you are experiencing this problem by using
the Explain facility (Visual Explain, Optimum Query Tuner, or
db2exfmt with the explain statement or explain mode), and
examining the query access plan for a SELECT query, the
following characteristics:
1) GENROW function is used in the query and has a partitioning
of "COOR"
Example db2exfmt output, examining the Input Streams for the
TBSCAN over the GENROW:
Input Streams:
-------------
4) From Object SYSIBM.GENROW
Estimated number of rows: 1
Partition Map ID: -100
Partitioning: (COOR )
Coordinator Partition
Number of columns: 1
Subquery predicate ID: Not Applicable
Column Names:
------------
+Q1.NUMB
Partition Column Names:
----------------------
+NONE
2) The query contains a Nested Loop Join (shown as "NLJOIN" in
the query graph.
3) The "GENROW" appears on the outer, or left input leg of the
NLJN
4) A Listener Table Queue (TQ) appears on the inner, or right
input leg of the NLJN
A Listener Table Queue is typically shown in the db2exfmt
graph as one of the following:
DTQ*
BTQ*
MDTQ*
MBTQ*
The important marker is the "*" following the TQ. This
indicates the Table Queue is a Listener Table Queue.
One can also examine the details for the Table Queue to
determine if it is a Listener Table Queue. It will having the
following argument listed:
LISTENER: (Listener Table Queue type)
TRUE
If the above 4 conditional are all met, then it is likely you
are experiencing this issue. | |
| Problem Summary: | |
Users Effected:
All users
Problem Description:
POOR PERFORMANCE FOR QUERIES WITH "GENROW" TABLE FUNCTION RUN
FROM CLP PACKAGES BIND WITH 'INSERT BUF' OPTION
Problem Summary:
In V9.7 on DB2 Linux, Unix Windows systems with the Data
Partitioning Facility (DPF), when CLP packages are bound with
the 'insert buf' option, queries that use a "GENROW" function
can perform very poorly due to the use of Listener Table Queue
accesses and/or the coordinator node for producing query results
that involve the "GENROW" function
You can identify if you are experiencing this problem by using
the Explain facility (Visual Explain, Optimum Query Tuner, or
db2exfmt with the explain statement or explain mode), and
examining the query access plan for a SELECT query, the
following characteristics:
1) GENROW function is used in the query and has a partitioning
of "COOR"
Example db2exfmt output, examining the Input Streams for the
TBSCAN over the GENROW:
Input Streams:
-------------
4) From Object SYSIBM.GENROW
Estimated number of rows: 1
Partition Map ID: -100
Partitioning: (COOR )
Coordinator Partition
Number of columns: 1
Subquery predicate ID: Not Applicable
Column Names:
------------
+Q1.NUMB
Partition Column Names:
----------------------
+NONE
2) The query contains a Nested Loop Join (shown as "NLJOIN" in
the query graph.
3) The "GENROW" appears on the outer, or left input leg of the
NLJN
4) A Listener Table Queue (TQ) appears on the inner, or right
input leg of the NLJN
A Listener Table Queue is typically shown in the db2exfmt
graph as one of the following:
DTQ*
BTQ*
MDTQ*
MBTQ*
The important marker is the "*" following the TQ. This
indicates the Table Queue is a Listener Table Queue.
One can also examine the details for the Table Queue to
determine if it is a Listener Table Queue. It will having the
following argument listed:
LISTENER: (Listener Table Queue type)
TRUE
If the above 4 conditional are all met, then it is likely you
are experiencing this issue. | |
| Local Fix: | |
The typical workaround is to rebind the packages without 'insert buf' option and with 'replace' option | |
| available fix packs: | |
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows | |
| Solution | |
defect wsdbu00804865 CSD First fixed in DB2 UDB Version 9.7, FixPak 5 module engn_sqno | |
| Workaround | |
Upgrade to DB2 Version Version 9.7, FixPak 5 | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 08.12.2010 07.12.2011 07.12.2011 |
| Problem solved at the following versions (IBM BugInfos) | |
9.7. | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 9.7.0.5 |
|