监控 DB2 活动之Visual Explain详细介绍(2)

http://www.itjxue.com  2015-08-21 22:26  来源:未知  点击次数: 

  Visual Explain 组件

 

  您可能已经注意到,Access Plan 窗口中提供的输出(参见图 9)由层次化图形构成,表示处理为指定查询选定的访问计划时所必需的不同组件。计划中的各组件都显示为一种称为节点 的图形对象。可存在两种类型的节点:

  操作符(Operator)。操作符节点用于确定是否必须在数据上执行一项活动,或者通过表或索引生成的输出。

  操作对象(Operand)。操作对象节点用于确定对其进行操作的实体(例如,表可以是一个表扫描操作符的操作对象)。

  操作对象

  典型情况下,操作对象节点用于确定表、索引和表队列(表队列用于使用了内部分区并行操作的情况下),它们在层次图中的符号分别是矩形(表)、菱形(索引)和平行四边形(表队列)。图 11 给出了表和索引操作对象的示例。

  图 11. 表和索引操作对象

  操作对象

  操作符

  另一方面,操作符节点用于确定从插入操作到索引或表扫描的一切活动。操作符节点在层次图中的符号为椭圆形,表示数据的访问方法、表的连接方法,以及其他一些因素,例如是否要执行排序操作等。表 6 列出了访问计划层次图中较为常见的操作符。

表 6. 常见 Visual Explain 操作符

操作符 所执行的操作
CMPEXP 计算表达式。(仅用于调试模式。)
DELETE 从表中删除行。
EISCAN 扫描用户定义的索引,产生一系列简化的行。
FETCH 使用指定的记录标识符从表中获取列。
FILTER 通过应用一个或多个谓词过滤数据。
GENROW 生成一个行表。
GRPBY 按指定列或函数的公共值组织行,并对集合函数求值。
HSJOIN 显示一个散列连接,其中一个或多个表在连接列上是混编的。
INSERT 向表中插入行。
IXAND 对两个或多个索引扫描所得到的行标识符(RID)进行 AND 运算。
IXSCAN 使用可选的启动/停止条件扫描表索引,产生有序的行流。
MSJOIN 显示合并连接,其中外部和内部表必须按连接谓词的顺序排列。
NLJOIN 显示嵌套循环连接,为外部表中的各行访问内部表一次。
PIPE 翻译行。(仅用于调试模式。)
RETURN 将查询返回的数据显示给用户。
RIDSCN 扫描一个行标识符(RID)列表,该列表是从一个或多个索引中获得的。
RPD 远程计划的操作符。与 V8 中的 SHIP 操作符极为类似(之前版本中的 RQUERY 操作符),惟一的不同在于它不包含 SQL 或 XQuery 语句。
SHIP 从远程数据库源中检索数据。在联合系统中使用。
SORT 按特定类的顺序排序行,可以选择消除重复条目。
TBSCAN 通过直接从数据页中读取所有数据而检索行。
TEMP 将数据存储在临时表中以便读回(很可能要读回多次)。
TQUEUE 在数据库代理之间传输表数据。
UNION 串联来自多个表的行流。
UNIQUE 消除特定列值重复的行。
UPDATE 更新表中的行。
XISCAN 扫描 XML 表的索引。
XSCAN 在一个 XML 文档节点子树中导航。
XANDOR 允许为多个 XML 索引应用 ANDed 和 ORed 谓词。

  图 12 中展示了一些更为常见的操作对象的示例。在这个示例中,执行了三种不同的行动:两个表执行了表扫描,两个数据集使用散列连接算法连接。

  图 12. 一些常见操作符

  操作符

  连接符和 RETRUN 操作符

  箭头说明数据从一个节点流向另一个节点的方式,它将层次图中的所有节点连接在一起,RETURN 操作符通常用于终止这一过程。RETURN 操作符表示最终结果集产生,并包含关于查询的汇总信息以及所完成的 SQL 语句返回的内容。使用 RETURN 显示的 timeron 值表示按 timeron 度量的时间总长度,是完成查询所必需的时间。图 13 展示了 RETURN 操作符的一个示例。

  图 13. RETURN 操作符

  RETURN 操作符

(责任编辑:IT教学网)

更多

推荐数据库文章