南大通用GBase8s 常用SQL语句(256)

2023-11-02

使用 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 指定的)核对基础的其他语言环境的名称。类似地,如果由于它的核对而不使用索引,则输出文件作此指示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

南大通用GBase8s 常用SQL语句(256) 的相关文章

  • 当所有维度值都具有 100% 重要性时处理多对多维度

    我至少会尽力保持简洁 假设我们正在跟踪一段时间内的账户余额 所以我们的事实表将包含诸如 账户余额情况表 FK 账户ID FK 日期ID Balance 显然你有一个账户维度表 and a 日期维度表 所以现在我们可以轻松地过滤帐户或日期 或
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和
  • 单独的逗号分隔值并存储在sql server的表中

    我有一个存储过程 它将逗号分隔的值作为输入 我需要将其分开并需要将其作为单独的行存储在表中 令 SP 的输入为 Rule ID ListType ID Values 1 2 319 400 521 8465 2013 我需要将它存储在一个名
  • 为表中的每个组选择前 N 行

    我面临一个非常常见的问题 即 为表中的每个组选择前 N 行 考虑一个表id name hair colour score列 我想要一个结果集 对于每种头发颜色 都能得到前 3 名得分手的名字 为了解决这个问题 我得到了我所需要的Rick O
  • XML 解析:格式良好的检查:未声明的实体

    我正在使用 SSMS 2008 但收到以下错误 你知道这意味着什么吗 Msg 9448 Level 16 State 1 Line 4 XML parsing line 1 character 89 well formed check un
  • 计算运行总计时出错(之前期间的累计)

    我有一张桌子 我们称之为My Table有一个Created日期时间列 在 SQL Server 中 我试图提取一个报告 该报告显示历史上有多少行My Table按月在特定时间 现在我知道我可以显示有多少added每个月 SELECT YE
  • 将表数据从一个 SQL Server 导出到另一台 SQL Server

    我有两个 SQL Server 都是 2005 版本 我想将多个表从一个表迁移到另一个表 我努力了 在源服务器上 我右键单击数据库 选择Tasks Generate scripts 问题是在下面Table View options没有Scr
  • 如何获得顶部带有千位分隔符的数字?

    SELECT count FROM table A 假设结果是8689 我怎样才能将它转换为8 689在 SQL Server 上 尝试这样 select replace convert varchar convert Money coun
  • 在 SELECT IN 中使用 Oracle 参数时出现问题

    我在将一串数字插入sql查询时遇到问题 SELECT FROM tablename a WHERE a flokkurid IN 3857 3858 3863 3285 ORDER BY sjodategund rodun or SELEC
  • 我怎样才能知道oracle 9i中哪些值是数字

    我有这个包含 varchar 的数据库 我想知道哪些记录保存数值 我试过REGEXP COUNT和其他 但我在 9i 上运行 我认为这是针对 10g gt 我怎样才能实现这个目标 I tried select to number my co
  • SQL 错误:“没有这样的表”

    我试图解决为什么我的代码为所有查询返回 null 的原因 最后发现 sql 查询什么也没有返回 我使用简约代码创建了一个新的 AIR 文档 s WindowedApplication
  • 需要按天分割日期时间范围

    我有一个需要根据日期时间拆分的表 输入表 ID Start End A 2019 03 04 23 18 04 2019 03 04 23 21 25 A 2019 03 04 23 45 05 2019 03 05 00 15 14 所需
  • SQL 查询用于计算每个客户的订单数量和总金额

    我有两张桌子Order与列 OrderID OrderDate CID EmployeeID And OrderItem与列 OrderID ItemID Quantity SalePrice 我需要返回客户 ID CID 每个客户的订单数
  • Postgresql 一张表的多个计数

    我想从表中的两列中获得这些列中值的统一计数 例如 两列是 表 报告 type place one home two school three work four cafe five friends six mall one work one
  • T-SQL:用最新的非空值替换 NULL 的最佳方法?

    假设我有这张表 id value 1 5 2 4 3 1 4 NULL 5 NULL 6 14 7 NULL 8 0 9 3 10 NULL 我想编写一个查询来替换任何NULL值与表中最后一个不为空的值在那一栏里 我想要这个结果 id va
  • 根据日期顺序排名

    我的数据如下 Heading Date A 2009 02 01 B 2009 02 03 c 2009 02 05 d 2009 02 06 e 2009 02 08 我需要如下排名 Heading Date Rank A 2009 02
  • 快速查询最新记录的方法?

    我有一张这样的表 USER PLAN START DATE END DATE 1 A 20110101 NULL 1 B 20100101 20101231 2 A 20100101 20100505 在某种程度上 如果END DATE i
  • st_intersects 与 st_overlaps

    这两个查询有什么区别 select a gid sum length b the geom from polygons as a roads as b where st intersects a the geom b the geom gr
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • H2 用户定义的聚合函数 ListAgg 不能在第一个参数上使用 DISTINCT 或 TRIM()

    所以我有一个 DB2 生产数据库 我需要在其中使用可用的函数 ListAgg 我希望使用 H2 的单元测试能够正确测试此功能 不幸的是H2不直接支持ListAgg 但是 我可以创建一个用户定义的聚合函数 import java sql Co

随机推荐

  • OpenWrt添加软件包之一概述

    参考 openwrt 官方文档 下面用
  • 在Android Studio3.6中打开Android Device Monitor的一种解决方案

    前言 从Android Studio 3 0开始 Android Device Monitor就被弃用了 3 1被废弃 并于3 2被移除 即不能再通过Tools gt Android gt Android Device Monitor来打开
  • JAVA获取机器的MAC地址

    JAVA获取机器的MAC地址 需求 获取机器的mac地址 问题 一些国产操作系统获取不到MAC地址 以下搜集了一些获取mac地址的方法 1 获取MAC地址 ps 该方法在银河麒麟中可用 public static String getMAC
  • 网站域名服务器 地址查询,查看网站dns域名服务器ip地址查询

    查看网站dns域名服务器ip地址查询 内容精选 换一换 公网域名解析是基于Internet网络的域名解析过程 可以把人们常用的域名 如www example com 转换成用于计算机连接的IP地址 如1 2 3 4 公网域名解析支持通过直接
  • 用Python搭建匿名代理池

    01 写在前面 常听到很多人抱怨自己的IP因爬虫次数太多而被网站屏蔽 不得不频繁使用各种代理IP 却又因为网上的公开代理大部分都是不能使用 而又要花钱花精力去申请VIP代理 几番波折又遭屏蔽 特此写一篇如何利用Python搭建代理池的文章
  • adc0832工作原理详解_ADC0832

    include include ADC0832 c code uchar seven seg 0xc0 0xf9 0xa4 0xb0 0x99 0x92 0x82 0xf8 0x80 0x90 共阳数码管0 9 0时为有效断 uchar c
  • 提升工作效率,这5个Jupyter Notebook “插件”,你有必要了解!

    点上方 菜鸟学Python 选择 星标 471篇原创干货 第一时间送达转自 机器之心 Jupyter Notebook 是一个很棒的教学 探索和编程环境 但其功能不足也是出了名的 幸好 有许多方法可以改进这个不错的工具 如 Jupyter
  • 从零搭建若依(Ruoyi-Vue)管理系统(5)--整合日志实现

    本章结束后对应的节选代码文件 Gangbb Vue 05 Log 项目地址 https github com Gang bb Gangbb Vue 历史遗留TODO 第三章 mybatis缓存暂时没用到 后面整合redis后用redis做缓
  • python学会基础之后要做什么检查_Python基本语法学完了,接下来不知道要干什么?...

    不知道题主打算往什么方向发展 我说说自己的学习过程 题主可以适当参考 我学完语法过后马上开始学习爬虫 因为觉得爬虫很酷 很有趣 跟着网上的教程写了几个爬虫过后 发现自己只知道要这么写 但不知道为什么要这样写 于是又花了一点时间 学习了HTM
  • nginx代理请求到内网不同服务器

    需求 之前用的是frp做的内网穿透 但是每次电脑断电重启 路由或者端口会冲突 现在使用汉土云盒替换frp 需要把公网ip映射到任意一台内网服务器上 然后在这台内网服务器上用Nginx做代理即可访问内网其它服务器 如果内网仅一台服务器则不需要
  • nginx-1.20*安装check模块

    主动地健康检查 nignx定时主动地去ping后端的服务列表 当发现某服务出现异常时 把该服务从健康列表中移除 当发现某服务恢复时 又能够将该服务加回健康列表中 使用第三访模块nginx checkcheck模块下载 1 若健康检查包类型为
  • Qt之如何获取主窗口的指针

    QMainWindow getMainWindow foreach QWidget w qApp gt topLevelWidgets if QMainWindow mainWin qobject cast
  • NIO是什么?适用于何种场景?

    NIO与IO的最大区别就是 当读取数据的时候 NIO读取之后需要缓冲 是面向缓冲区的 而IO不需要缓冲 是面向流的 IO是阻塞的 就意味着当一个线程调用read 或write 时 该线程被阻塞 直到有一些数据被读取 或数据完全写入 该线程在
  • 支持STEM学习的九个方式

    随着STEM教育的兴起 一些国家把STEM教育提升到了国家战略层面 相继出台了促进STEM人才培养的政策措施 加大STEM教育的公共和私人投资 整合政府 大中小学 企业 科研机构 社区和家庭多方力量 共同促进STEM教育发展 接下来 格物斯
  • 如何在树莓派上使用Nginx搭建本地站点并通过内网穿透实现远程访问

    文章目录 1 Nginx安装 2 安装cpolar 3 配置域名访问Nginx 4 固定域名访问 5 配置静态站点 安装 Nginx 发音为 engine x 可以将您的树莓派变成一个强大的 Web 服务器 可以用于托管网站或 Web 应用
  • svg转换png,svg转png格式步骤

    svg转换png svg转png格式步骤 在过去一年多的工作经历中 我接触到了大量的图片 认识到了各种图片格式 每种格式图片拥有的属性是不一样的 就像我们每个人所具备的属性性格特点不同一个道理 比如SVG是一种图形文件格式 用户可以直接用代
  • 网络错误代码

    网络错误代码 又称ADSL错误代码 ADSL Asymmetric Digital Subscriber Line 非对称数字用户环路 是中国电信报提供的一种新的数据传输方式 它因为上行和下行带宽不对称 因此称为非对称数字用户线环路 它采用
  • 混淆矩阵的计算方式

    下图中有三个序列 L表示标签值 P表示预测值 n表示分类数 我们需要计算n L P来计算预测结果值 当L和P都取最大时 得出的结果就是其最大计算空间 例如下图 L 0 5 P 0 5 则n L P 0 35 然后我们将n L P映射到36维
  • Linux的环境配置文件----.bashrc文件

    bashrc文件主要保存个人的一些个性化设置 如命令别名 路径等 也即在同一个服务器上 只对某个用户的个性化设置相关 它是一个隐藏文件 需要使用ls a来查看 bash history 记录之前输入的命令 bash logout 当你退出时
  • 南大通用GBase8s 常用SQL语句(256)

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