Chapter 4. Performance problem determination scenarios 273
In this scenario, we diagnose how the default setting of the
DB2_MAXIMAL_PUSHDOWN server option may inhibit a particular federated
query (about which the user has additional domain expertise) from achieving
superior performance.
Triggering event
Users complained about poor response times with a specific query.
Hypotheses and validations
Here again, since these were user complaints about the performance of a
specific query, as per Figure 4-3 on page 122, we decided to enter the DB2
hypotheses hierarchy shown in Figure 4-1 on page 117 and described in
Example 4.2 on page 119, at a lower level, bypassing network- and
system-related problems, and focused directly on federated application/query
performance, as follows.
Hypothesis 1: Federated application/query performance
Before one can investigate the cause of a query’s performance problem, one
needs to identify the query in question. After identifying the query in question,
one can begin diagnosing whether the performance problem is at the federated
server, the remote data source, or equally divided between the two, as discussed
in Example 4.2 on page 119.
Identify the application and query.
In this case the user specifically identified the query in question as being the
one shown in Example 4-48. It finds which supplier should be selected to
place an order for a given (brass, size 15) part in a given region (Europe)
based on the minimum supplier cost. The parts, supplier, and parts supplier
tables reside on DB2, while the nation and region tables reside on Oracle.
Example 4-48 Problem query
SELECT S_ACCTBAL, S_NAME, N_NAME, P_PARTKEY, P_MFGR, S_ADDRESS, S_PHONE,
S_COMMENT
FROM db2.PART, db2.SUPPLIER, db2.PARTSUPP, ora.NATION, ora.REGION
WHERE P_PARTKEY = PS_PARTKEY AND
S_SUPPKEY = PS_SUPPKEY AND
P_SIZE = 15 AND
P_TYPE LIKE '%BRASS' AND
S_NATIONKEY = N_NATIONKEY AND
R_NAME = 'EUROPE' AND
PS_SUPPLYCOST =
(SELECT MIN(PS_SUPPLYCOST)
FROM db2.PARTSUPP, db2.SUPPLIER, ora.NATION, ora.REGION
WHERE P_PARTKEY = PS_PARTKEY AND S_SUPPKEY = PS_SUPPKEY AND
S_NATIONKEY = N_NATIONKEY AND