EXPLAIN_PREDICATE table
The EXPLAIN_PREDICATE table identifies which predicates are applied by a specific operator.
| Column Name | Data Type | Nullable? | Key? | Description |
|---|---|---|---|---|
| EXPLAIN_REQUESTER | VARCHAR(128) | No | FK | Authorization ID of initiator of this Explain request. |
| EXPLAIN_TIME | TIMESTAMP | No | FK | Time of initiation for Explain request. |
| SOURCE_NAME | VARCHAR(128) | No | FK | Name of the package running when the dynamic statement was explained or name of the source file when the static SQL was explained. |
| SOURCE_SCHEMA | VARCHAR(128) | No | FK | Schema, or qualifier, of source of Explain request. |
| SOURCE_VERSION | VARCHAR(64) | No | FK | Version of the source of the Explain request. |
| EXPLAIN_LEVEL | CHAR(1) | No | FK | Level of Explain information for which this row is relevant. |
| STMTNO | INTEGER | No | FK | Statement number within package to which this explain information is related. |
| SECTNO | INTEGER | No | FK | Section number within package to which this explain information is related. |
| OPERATOR_ID | INTEGER | No | No | Unique ID for this operator within this query. |
| PREDICATE_ID | INTEGER | No | No | Unique ID for this predicate for the specified operator. A value of "-1" is shown for operator predicates constructed by the Explain tool which are not optimizer objects and do not exist in the optimizer plan. |
| HOW_APPLIED | CHAR(10) | No | No | How predicate is being used by the specified operator. |
| WHEN_EVALUATED | CHAR(3) | No | No | Indicates when the subquery used in this predicate is evaluated.
Possible values are:
|
| RELOP_TYPE | CHAR(2) | No | No | The type of relational operator used in this predicate. |
| SUBQUERY | CHAR(1) | No | No | Whether or not a data stream from a subquery is required for
this predicate. There may be multiple subquery streams required. Possible
values are:
|
| FILTER_FACTOR | DOUBLE | No | No | The estimated fraction of rows that will be qualified by this
predicate. A value of "-1" is shown when FILTER_FACTOR is not applicable. FILTER_FACTOR is not applicable for operator predicates constructed by the Explain tool which are not optimizer objects and do not exist in the optimizer plan. |
| PREDICATE_TEXT | CLOB(2M) | Yes | No | The text of the predicate as recreated
from the internal representation of the SQL or XQuery statement. If
the value of a host variable, special register, or parameter marker
is used during compilation of the statement, this value will appear
at the end of the predicate text enclosed in a comment. The value will be stored in the EXPLAIN_PREDICATE table only if the statement is executed by a user who has DBADM authority, or if the DB2_VIEW_REOPT_VALUES registry variable is set to YES; otherwise, an empty comment will appear at the end of the predicate text. Null if not available. |
| RANGE_NUM | INTEGER | Yes | No | Range of data partition elimination predicates, which enables the grouping of predicates that are used for data partition elimination by range. Null value for all other predicate types. |
| INDEX_COLSEQ | INTEGER | No | No | Indicates the index column that the predicate
belongs to if it is part of a key predicate. A key predicate always
belongs to one index key part. A value of "-1" is shown for predicates that are not part of a key predicate. |
| Value | Description |
|---|---|
| BIT_FLTR | Predicate is applied as a bit filter |
| BSARG | Evaluated as a sargable predicate once for every block |
| DPSTART | Start key predicate used in data partition elimination |
| DPSTOP | Stop key predicate used in data partition elimination |
| ESARG | Evaluated as a sargable predicate by external reader. |
| JOIN | Used to join tables |
| RANGE_FLTR | Predicate is applied as a range filter |
| RESID | Evaluated as a residual predicate |
| SARG | Evaluated as a sargable predicate for index or data page |
| GAP_START | Used as a start condition on an index gap |
| GAP_STOP | Used as a stop condition on an index gap |
| START | Used as a start condition |
| STOP | Used as a stop condition |
| FEEDBACK | Zigzag join feedback predicate |
| Value | Description |
|---|---|
| blanks | Not Applicable |
| EQ | Equals |
| GE | Greater Than or Equal |
| GT | Greater Than |
| IN | In list |
| IC | In list, sorted during query optimization |
| IR | In list, sorted at runtime |
| LE | Less Than or Equal |
| LK | Like |
| LT | Less Than |
| NE | Not Equal |
| NL | Is Null |
| NN | Is Not Null |
| RE | REGEXP_LIKE |