CURRENT EXPLAIN MODE 专用寄存器

CURRENT EXPLAIN MODE 专用寄存器包含 VARCHAR (254) 值,该值控制 Explain 设施相对于合格动态 SQL 语句的行为。

CURRENT EXPLAIN MODE 专用寄存器包含 VARCHAR (254) 值,该值控制 Explain 设施相对于合格动态 SQL 语句的行为。 此工具生成 Explain 信息并将其插入到 Explain 表中。 此信息不包含 Explain 快照。 可能的值包括 "是" , "说明" , "否" , "重新选择" , "建议索引" 和 "评估索引"。 (对于静态 SQL , EXPLAIN 绑定选项提供相同的控件。 对于 PREPBIND 命令, EXPLAIN 选项值为: YESNOALL

启用 Explain 工具,并在编译语句时捕获动态 SQL 语句的 Explain 信息。
EXPLAIN
启用工具,但不执行动态语句。
禁用 Explain 设施。
REOPT
启用 Explain 工具并导致仅当使用输入变量 (主变量,专用寄存器,全局变量或参数标记) 的实值对语句进行重新优化时,才会捕获动态 (或增量绑定) SQL 语句的 Explain 信息。
RECOMMEND INDEXES
为每个动态查询推荐一组索引。 使用索引集填充 ADVISE_INDEX 表。 用户自定义租户不支持该模式。 该模式可以设置,但在运行查询时会导致错误(SQLSTATE 42297)。
EVALUATE INDEXES
使 SQL 编译器能够对动态查询的虚拟建议索引进行求值。 在此说明方式下执行的查询将使用基于虚拟索引的编造统计信息进行编译和优化。 不执行这些语句。 如果 USE_INDEX 列包含 Y,那么将从 ADVISE_INDEX 表中读取要评估的索引。 还可以通过将 USE_INDEX 列设置为 I 并将 EXISTS 列设置为 Y来忽略现有非唯一索引。 如果给定了 USE_INDEX=I 和 EXISTS=N 的组合,那么查询的索引求值将正常继续,但不会忽略有问题的索引。 用户自定义租户不支持该模式。 该模式可以设置,但在运行查询时会导致错误(SQLSTATE 42297)。

初始值为 NO。 可通过调用 SET CURRENT EXPLAIN MODE 语句来更改该值。

调用说明工具时, CURRENT EXPLAIN MODE 和 CURRENT EXPLAIN SNAPSHOT 专用寄存器值交互。 CURRENT EXPLAIN MODE 专用寄存器还与 EXPLAIN 绑定选项交互。 只能为 CURRENT EXPLAIN MODE 寄存器设置 "建议索引" 和 "评估索引" ,并且必须使用 SET CURRENT EXPLAIN MODE 语句设置 "建议索引" 和 "评估索引"。

示例: 将主变量 EXPL_MODE (VARCHAR (254)) 设置为 CURRENT EXPLAIN MODE 专用寄存器中当前的值。
   VALUES CURRENT EXPLAIN MODE
     INTO :EXPL_MODE