SET EXPLAIN 语句

使用 SET EXPLAIN 语句来启用或禁用在当前的会话中查询的记录评估,包括查询优化器的计划、对返回行的数目的估计,以及该查询的相对成本。

语法

元素 描述 限制 语法
expression 返回文件名称规范的表达式 必须返回满足文件名称限制的字符串 表达式
file_name 说明输出文件名称。如果未包括文件的绝对路径,则会在默认的说明输出文件位置创建说明输出文件 必须符合操作系统规则。如果该文件已存在,则将说明输出追加在它后面。 用引号括起的字符串
file_name_var 存储文件名称的主变量 必须为字符数据类型 特定于语言

用法

将来自 SET EXPLAIN ON 语句的输出指向适合的文件,直到您发出 SET EXPLAIN OFF 语句或直到程序结束为止。如果您未输入 SET EXPLAIN 语句,则缺省的行为是 OFF,且数据库服务器不生成查询的评估。

在数据库服务器优化阶段期间,执行 SET EXPLAIN 语句,当您初始化查询时会发生。对于与游标相关联的查询,如果准备该查询且没有主变量,则当您准备它时发生优化。否则,当您打开游标时,发生优化。

SET EXPLAIN 语句提供参与执行查询的工作的多种评估。

选项
作用
ON
为每一随后的查询生成评估并将结果写到当前目录中的输出文件。如果给文件已存在,则将新的输出追加到现有的文件之后。
AVOID_EXECUTE
防止 SELECT、INSERT、MERGE、UPDATE 或 DELETE 语句执行。数据库服务器将查询计划打印到输出文件
OFF
终止 SET EXPLAIN 语句的活动,以便于不再生成随后的查询的评估或写到输出文件
FILE TO
为每一随后的查询生成评估,并允许您指定说明输出文件的位置。

下列示例为当前会话中随后的查询将查询计划写到说明输出文件中:

SET EXPLAIN ON;
下列示例将查询计划追加写到当前会话中的文件:
SET EXPLAIN OFF;