EXPLAIN_PREDICATE 表

EXPLAIN_PREDICATE 表标识了特定运算符应用的谓词。

表 1. EXPLAIN_谓词表PK 表示该列是主键的一部分;FK 表示该列是外键的一部分。
列名 数据类型 是否可空? 钥匙 描述
EXPLAIN_REQUESTER VARCHAR(128) False FK 此 Explain 请求的发起方的授权标识。
EXPLAIN_TIME TIMESTAMP False FK Explain 请求的启动时间。
源名称 VARCHAR(128) False FK 解释动态语句时运行的包的名称或解释静态 SQL 时使用的源文件的名称。
SOURCE_SCHEMA VARCHAR(128) False FK Explain 请求源的模式或限定符。
SOURCE_VERSION VARCHAR(64) False FK Explain 请求源的版本。
EXPLAIN_LEVEL CHAR(1) False FK 与此行相关的 Explain 信息级别。
STMTNO INTEGER False FK 包中与此 Explain 信息相关的语句编号。
SECTNO INTEGER False FK 包中与此 Explain 信息相关的节编号。
OPERATOR_ID INTEGER False False 此查询中该运算符的唯一标识。
PREDICATE_ID INTEGER False False 用于指定运算符的此谓词的唯一标识。

对于由 Explain 工具构造的运算符谓词(它们不是优化器对象且也不存在于优化器计划中),将显示值“-1”。

HOW_APPLIED CHAR(10) False False 指定的运算符使用谓词的方式。
WHEN_EVALUATED CHAR(3) False False 指示何时对在该谓词中使用的子查询求值。
可能的值包括:
空白
此谓词不包含子查询。
EAA
此谓词中使用的子查询将在应用程序中进行求值 (EAA)。 即,在应用谓词时,将为指定运算符处理的每一行对该谓词进行重新求值。
EAO
此谓词中使用的子查询将在打开时进行求值 (EAO)。 即,仅为指定的运算符对该谓词进行重新求值一次,并且在对每一行应用该谓词时会复用其结果。
MUL
此谓词包含多种类型的子查询。
RELOP_TYPE CHAR(2) False False 该谓词中使用的关系运算符的类型。
SUBQUERY CHAR(1) False False 该谓词是否需要来自子查询的数据流。 可能需要多个子查询流。
可能的值包括:
N
不需要子查询流
Y
需要一个或多个子查询流
FILTER_FACTOR False False 此谓词限定的行的估计比例。

当 FILTER_FACTOR 不适用时,将显示值“-1”。 FILTER_FACTOR 不适用于由 Explain 工具构造且既不是优化器对象又不存在于优化器计划中的运算符谓词。

PREDICATE_TEXT CLOB(2M) False 通过 SQL 或 XQuery 语句内部表示重新创建的谓词文本。 如果在编译该语句期间使用了主机变量、专用寄存器或参数标记的值,那么该值将出现在注释中的谓词文本的末尾。

仅当语句由具有 DBADM 权限的用户执行,或者 DB2_VIEW_REOPT_VALUES 注册表变量设置为 YES 时,该值才会存储在 EXPLAIN_PREDICATE 表中;否则,空注释将出现在谓词文本的末尾。

如果不可用,那么为空。

RANGE_NUM INTEGER False 数据分区消除谓词范围,支持按范围对用于数据分区消除的谓词进行分组。 对于所有其他谓词类型,此项为空值。
INDEX_COLSEQ INTEGER False False 如果谓词是键谓词的一部分,那么指示该谓词所属的索引列。 键谓词始终属于一个索引键部分。

对于不属于键谓词的谓词,将显示值“-1”。

ff_source_schema VARCHAR(128) False 用于计算过滤因子的数据源模式。 如果未识别来源,该值可设置为 NULL。
FF_SOURCE_NAME VARCHAR(128) False 用于计算滤波系数的数据源名称。 如果未识别来源,该值可设置为 NULL。
FF_SOURCE_TYPE CHAR(16) False

用于计算滤波系数的信号源类型。

可能的值包括:
tblcard_model(u)
FF_SOURCE_SCHEMA 和 FF_SOURCE_NAME 列中列出的表核心模型用于计算谓词的过滤因子。
tblcard_model(e)
FF_SOURCE_SCHEMA 和 FF_SOURCE_NAME 列中列出的表核心度模型未用于计算谓词的过滤因子,但该谓词符合模型使用条件。 如果有多个符合条件的谓词具有相同的源模型,那么所有谓词(无论是 TBLCARD_MODEL(U)还是 TBLCARD_MODEL(E)类型)的综合选择性都将使用该模型一并计算。
表 2. 可能的 HOW_APPLIED 值
描述
BIT_FLTR 谓词用作位过滤器
BSARG 对于每个块,作为 SARGable 谓词计算一次
DPSTART 数据分区消除中使用的开始键谓词
DPSTOP 数据分区消除中使用的停止键谓词
ESARG 由外部阅读器求值为 Sargable 谓词。
JOIN 用于连接表
RANGE_FLTR 谓词用作范围过滤器
RESID 作为残留谓词计算
SARG 作为索引或数据页面的控制谓词计算
GAP_START 用作索引间隔上的开始条件
GAP_STOP 用作索引间隔上的停止条件
START 用作开始条件
STOP 用作停止条件
FEEDBACK Zigzag 连接反馈谓词
表 3. 可能的 RELOP_TYPE 值
描述
空白 不适用
EQ 等于
GE 大于或等于
GT 大于
IN In list
IC In list(在查询优化期间排序)
IR In list(在运行时排序)
LE 小于或等于
LK 相似
LT 小于
NE 不等于
NL 为 Null
NN Is Not Null
RE REGEXP_LIKE