使用 FILE TO 选项

当您执行 SET EXPLAIN FILE TO 语句时,开启说明输出。SET EXPLAIN FILE TO 语句可更改说明输出的缺省的文件名称,直到会话结束为止,或直到发出另一 SET EXPLAIN 语句为止。

该 filename 可为任何路径与文件名称的任何组合。如果未指定路径,则将该未见值域缺省的说明输出位置。当前的用户拥有该文件的权限。

您在 SET EXPLAIN 语句中指定的输出文件可为新文件或现有的文件。如果 FILE TO 子句指定现有的文件,则将新的输出追加到那个文件的后面。

在 UNIX™ 上的说明输出文件的缺省名称和位置

当您发出 SET EXPLAIN ON 语句时,将优化器为每一随后的查询选择的计划写到说明输出文件。

当您发出 SET EXPLAIN ON 时,如果说明输出文件不存在,则数据库服务器创建该文件。如果当您发出 SET EXPLAIN ON 语句时,说明输出文件已存在,则将随后的输出追加到该文件后面。

说明输出文件的缺省名称

由 SET EXPLAIN 语句生成的说明输出文件与由 onmode -Y 生成的说明文件有不同的名称。映射的用户的说明输出 filename 与 OS 用户的说明输出 filename 也不相同。下表展示缺省的名称:

表 1. 缺省的说明输出文件名称。

用户与生成类型

文件名称

常规用户与 SET EXPLAIN

sqexplain.out

映射的用户与 SET EXPLAIN

username_sqexplain.out

常规用户与 onmode -Y

sqexplain.out.session_id

映射的用户与 onmode -Y

username_sqexplain.out.session_id

说明输出文件的缺省位置

如果客户端应用与数据库服务器在同一台计算机上,则输出文件存储在您的当前名录中。如果您正在使用 Version 5.x 或更早的客户端应用且输出文件不出现在当前的目录中,则请检查您对于该文件的 home 目录。当当前的数据库在另一台计算机上时,该输出文件存储在远程主机上您的 home 目录中。

对于没有 home 目录的映射的用户,说明输出文件存储在 $GBASEDBTDIR/users/server_svrnum/uid_uid 中。

对于带有 home 目录的映射的用户,远程客户端的说明输出文件存储在该用户的 home 目录中,且本地客户的说明输出文件存储在用户的当前工作目录中。

在 Windows 上的输出文件的缺省名称和位置

在 Windows™ 上,SET EXPLAIN ON 将优化器为每一随后的查询选择的计划写到 %GBASEDBTDIR%\sqexpln 中的文件。

对于由 SET EXPLAIN 语句生成的说明输出文件,缺省的文件名称为 user_name.out,在此,user_name 是用户登录名。

对于由 onmode -Y 生成的说明输出文件,缺省的文件名称为 sqexplain.out.session_id

SET EXPLAIN 输出

查看 SET EXPLAIN 输出文件来分析关于执行了的查询的信息,包括查询的伪指令集、对查询成本的估算、对返回行数的估计、服务器访问的表中的顺序、索引键、连接方式和查询统计信息。

下表罗列可出现在输出文件中的术语及其意义。

术语

意义

查询

显示执行了的查询,并指示将 SET OPTIMIZATION 设置为了 HIGH 还是 LOW。如果您 SET OPTIMIZATION 为 LOW,则输出显示下列大写字符串作为第一行:QUERY:{LOW}

如果您 SET OPTIMIZATION 为 HIGH,则 SET EXPLAIN 的输出显示下列大写字符串作为第一行:QUERY:

后跟的伪指令

罗列查询的伪指令集

如果伪指令的语法不正确,则处理不带伪指令的查询。在那种情况下,输出在 DIRECTIVES FOLLOWED 之外还展示 DIRECTIVES NOT FOLLOWED。

要获取更多关于在此术语之后指定的伪指令的信息,请参阅 优化程序伪指令 或 SET OPTIMIZATION 语句。

如果 DELETE 或 UPDATE 语句在 WHERE 子句中指定不相关联的子查询,则由该子查询返回的符合条件的行的集合具体化为临时表,SET EXPLAIN 的输出显示在下列消息的括号之内:(Temp Table For Subquery)

估计的成本

该查询的工作量的估计值

优化器使用估计值来比较一路径与另一路径的成本。估计值是优化器赋予被选择的访问方式的一个数。此数不直接地译为时间,且不用于比较不同的查询。然而,它可用于比较同一查询产生的更改。当使用数据分发时,带有较高估计值的查询通常比带有较小估计值的查询花费更长的运行时间。

在查询与子查询的情况下,返回两个估计的成本数字;查询数字还包括子查询成本。展示子查询成本以便于您可看到仅与子查询相关联的成本。

返回的行的估计数

要返回的行的数目的估计值

此数值是基于系统目录表中的信息的。

编号的列表

访问表的次序,后跟所使用的访问方式(索引路径或顺序扫描)

当查询涉及表继承时,罗列在超级表之下以访问它们的顺序为顺序的所有表。

索引名称

索引的名称

例如,idx1 是下列索引的名称:

Index Name: gbasedbt.idx1

索引名称中的 FOT 标识该索引为树型索引的森林:例如,下列索引是树型索引的森林:

Index Name: gbasedbt.fot_idx (FOT)

索引键

用作过滤器或索引的列;指示用于索引路径或过滤器的列名称。

符号 (Key Only) 指示所有期望的列都是索引键的一部分,因此索引的仅键读取可被实际表的读取所取代。在有 NLSCASE INSENSITIVE 属性的数据库中,所有索引扫描方式(仅键扫描除外)都允许查询执行计划将所有区分大小写的值映射到 NCHAR 和 NVARCHAR 列的单个值。要获取更多关于 NLSCASE INSENSITIVE 数据库的信息,请参阅 在 NLSCASE INSENSITIVE 数据库中重复的行。

“下部索引过滤器”在索引读取开始处展示键值;在索引读取停止处展示键值的“上部索引过滤器”索引键过滤器展示将用在被检索的索引键值的过滤器。如果查询使用索引自连接路径,则“索引自连接键”展示用作自连接键的引导索引键,且下限上限展示引导索引键列的边界。

连接方式

当查询涉及两表之间的连接时,优化器使用的(“嵌套的循环”或“动态哈希”)连接方式展示在那个查询的输出的底部。

当查询涉及两表的动态连接时,如果输出包含词 Build Outer,则在罗列的第一个表(成为构建表)上构建哈希表。如果未出现词 Build Outer,则在罗列的第二个表上构建哈希表。

查询统计信息

当 EXPLAIN_STAT 配置参数设置为 1 时,这部分展示返回的行数、在查询计划中估计的行数、需要的时间、对 iterator 函数的调用,以及对表对象的扫描和连接操作的估计成本。

时间

当输出显示查询执行计划或那个计划的组件消耗的时间时,该值的格式为 minutes:seconds.fraction 来显示分、表和秒的小数部分。

如果查询使用核对顺序而不是 DB_LOCALE 设置的缺省顺序,则输出文件包括 DB_LOCALE 设置以及作为在该查询中(通过 SET COLLATION 指定的)核对基础的其他语言环境的名称。类似地,如果由于它的核对而不使用索引,则输出文件作此指示。

南大通用GBase8s 常用SQL语句(256)相关推荐

  1. 南大通用GBase8s 常用SQL语句(八十三)

    南大通用GBase8s 常用SQL语句(八十三) Interval fragment 子句 使用 Interval Fragment 子句存储通过一个或多个计算为数字或 INTERVAL 数据类型的范 ...

  2. 南大通用GBase8s 常用SQL语句(八十)

    南大通用GBase8s 常用SQL语句(八十) FRAGMENT BY 子句 使用 FRAGMENT BY 子句创建分片表并指定它的存储分布方案.PARTITION BY 关键字是 FRAGMENT ...

  3. 南大通用GBase8s 常用SQL语句(八十一)

    南大通用GBase8s 常用SQL语句(八十一) 使用 REMAINDER 关键字 使用 REMAINDER 关键字来指定存储超出指定表达式的有效值的存储空间.如果不指定 remainder ,并且在 ...

  4. 南大通用GBase8s 常用SQL语句(四十)

    南大通用GBase8s 常用SQL语句(四十) DATAFILES 子句 DATAFILES 子句指定当您使用外部表时打开的操作系统文件或管道. DATAFILES 子句 元素 描述 限制 语法 fi ...

  5. 南大通用GBase8s 常用SQL语句(261)

    使用 Cursor Stability 隔离级别 使用 Cursor Stability 选项来在获取的行上放置共享锁,当您获取另一行或关闭该游标时,将其释放.另一进程还可在同一行上放置共享锁,但没有 ...

  6. 南大通用GBase8s 常用SQL语句(124)

    DROP INDEX 语句 使用 DROP INDEX 语句删除索引. 该语句是 SQL ANSI/ISO 标准的扩展. 语法 元素 描述 限制 语法 index 要删除的索引的名称 必须存在于当前数 ...

  7. 南大通用GBase8s 常用SQL语句(100)

    用于插入的 REFERENCING 子句 Insert 触发器的 REFERENCING 子句可以为列中要插入的值声明相关名称. 用于插入的 REFERENCING 子句 元素 描述 限制 语法 co ...

  8. 南大通用GBase8s 常用SQL语句(257)

    完整连接级别设置和输出示例 SET EXPLAIN 语句支持完整连接级别设置. SET EXPLAIN 语句支持完整连接级别设置.这意味着在连接时将本地会话环境中的值传播到所有下列类型的新的或恢复的事 ...

  9. 南大通用GBase8s 常用SQL语句(108)

    CREATE VIEW 语句 使用 CREATE VIEW 语句创建新的视图,该视图基于驻留在数据库(或本地数据库服务器或不同的数据库服务器中的另一个数据库)中的一个或多个现有表和视图. 语法 元素 ...

  10. 南大通用GBase8s 常用SQL语句(259)

    SET ISOLATION 语句 使用 SET ISOLATION 语句来定义在尝试同时地访问相同行的进程之中的并发程度. 此语句是对 SQL 的 ANSI/ISO 标准的扩展. 语法 用法 SET ...

最新文章

  1. R语言使用ggplot2包使用geom_dotplot函数绘制分组点图(改变图例位置)实战(dot plot)
  2. webvr动画函数requestAnimationFrame
  3. 做一个有梦想的咸鱼!
  4. android tab 点击,TabLayout.Tab点击事件
  5. Spark常见问题解决办法
  6. centos7安装oracle12c 一
  7. 计算机能做什么英语对话,计算机英语会话∣实用电脑英语
  8. Spring Boot 中使⽤ Cache 缓存的使⽤
  9. VC中利用ADO共同实现数据库的操作
  10. 零基础搭建Hadoop大数据处理-初识
  11. 获取MOSS页面中控件使用的样式(转)
  12. 全网最全-固定资本存量分省、市、地区、产业-含计算过程
  13. ISO9001认证审核常见问题大汇总
  14. dcs world f15c教学_【温故知新】DCS如何操作?看这篇就全懂了!
  15. 【干货】github上十二款最著名的Android播放器开源项目
  16. 11 种主要神经网络结构图解
  17. 午芯高科“电容式”MEMS高性能数字气压传感器WXP380
  18. 当代偷车贼分两种,剪电线的和用智能设备的
  19. 电脑技术员联盟 Ghost XP Sp3 装机版 V5.8下载 .
  20. 致力共赢、共助产业升级新发展——回看中国首届泛工业品展

热门文章

  1. batik1.8在文字渲染上的bug
  2. 戴在手上的智能录音笔,讯飞腕式智能录音笔R1超给力
  3. Perl代码混淆解决
  4. 【多目标追踪算法】Deepsort追踪实战
  5. VScode使用服务器的Python解释器
  6. 几个常用的技术类型网站
  7. Typora 的 Markdown 语法
  8. [goa]golang微服务框架学习(三)-- 使用swagger-ui展示API
  9. 怎么连接本地其他计算机设备,win7电脑本地连接连不上怎么办?详解如何设置本地连接...
  10. python实现轨迹回放_腾讯地图教你快速实现轨迹回放