You need to verify the following columns in the PLAN_TABLE after you run EXPLAIN query.

PLAN Table in DB2

1) QUERYNO: A number identifies the statement being explained.

2) METHOD:

0 – First table accessed, a continuation of the previous table accessed or not used

1 – Nested Loop Join

2 – Merge Scan Join

3 – Sorts required by ORDER BY, GROUP BY, SELECT DISTINCT, UNION

4 – Hybrid Join

3) ACCESSTYPE:

I – By an Index

I1 – One fetch Index Scan

M – Multiple index scan

MX – By Index mentioned in ACCESSNAME

MI – Intersection of Multiple indexes

MU – Union of multiple indexes

N – Index scan when matching predicated in IN keyword

R – Tablespace scan

RW – Work file scan of a materialized user-defined table function

T – By a spare index – Star join work files

V – By buffers for an INSERT statement within a SELECT

Blank – NA

4) INDEXONLY:

Whether access to an Index alone is enough to carry out the step

5) TSLOCKMODE:

IS – Intent Share Lock

IX – Intent Exclusive lock

S – Share Lock

U – Update Lock

X – Exclusive Lock

SIX – Share with Intent Exclusive lock

N – UR Isolation: No Lock

NS – For CS, RS, RR an S Lock

NIS – For CS, RS, RR an IS Lock

NSS – For CS, RS an IS Lock and for RR an S Lock

SS – For UR, CS, and RS an IS Lock and for RR an S Lock

6) PREFETCH:

S – Pure Sequential

L – thru a Page List

D – Optimizer expects dynamic prefetch

Blank – Unknown at bind time or NA

7)ACCESS_DEGREE:

Number of Parallel tasks or operations activated by a Query

0 – if there is a host variable

8) PARALLELISM_MODE:

I – Query I/O parallelism

C – Query CP parallelism

X – Sysplex query parallelism

9) PAGE_RANGE:

Whether the table qualifies for page range (scan only the partitions that are needed)

Y – Yes

Blank – No

10) JOIN_TYPE:

F – Full Outer Join

L – Left Outer Join

S – Star Join

Blank – Inner Join or No join

Note: Right Outer Join always converted to Left Outer Join

11) WHEN_OPTIMIZE:

Blank: At bind time, using a default filter factor for any host variables, parameter markers, or special registers

B – Above facts + Bind option REOPT (ALWAYS) or REOPT (ONCE) must be specified.

R – At Runtime, using input variables, parameter markers, or special registers. Bind option REOPT (ALWAYS) or REOPT (ONCE) must be specified.

12) QBLOCK_TYPE:

SELECT – Select

INSERT – Insert

UPDATE – Update

DELETE – Delete

SELUPD – Select FOR UPDATE OF

DELCUR – DELETE WHERE CURRENT OF CURSOR

UPDCUR – UPDATE WHERE CURRENT OF CURSOR

CORSUB – Correlated Subquery

NCOSUB – NonCorrelated Subquery

TABLEX – Table Expression

TRIGGER – WHEN clause on CREATE TRIGGER

UNION – Union

UNIONA – Union All

13) PRIMRY-ACCESSTYPE:

D – Direct Row access

Blank – No Direct Row access

14) TABLE_TYPE:

B – Buffers for an INSERT statement within a SELECT

C – Common Table Expression

F – Table Function

M – Materialized Query Table

Q – Temp intermediate table(Not Materialized), name of the viewer nested table expression, Contains a UNION ALL where materialization was virtual not actual.

RB – Recursive Common Table Expression

T – Table

W – Work file (Materialized)

15) TABLE_ENCODE:

A – ASCII

E – EBCDIC

U – Unicode

M – when multiple CCSID is in one table

Apart from the above DBA has to verify Accounting Reports to get CPU time or elapsed time.

Related

Fediverse reactions

Discover more from Srinimf

Subscribe now to keep reading and get access to the full archive.

Continue reading