使用 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;