现在的位置: 首页 > 综合 > 正文

执行计划中各字段各模块描述

2012年02月04日 ⁄ 综合 ⁄ 共 6052字 ⁄ 字号 评论关闭

    在SQL语句的执行计划中,包含很多字段项和很多模块,其不同字段代表了不同的含义且在不同的情形下某些字段、模块显示或不显示,下
面的描述给出了执行计划中各字段的含义以及各模块的描述。

       有关执行计划中各字段模块的描述请参考:
执行计划中各字段各模块描述

       有关由SQL语句来获取执行计划请参考:   
使用 EXPLAIN PLAN 获取SQL语句执行计划

       有关使用autotrace来获取执行计划请参考:启用 AUTOTRACE 功能
       有关display_cursor函数的使用请参考:   dbms_xplan之display_cursor函数的使用

一、执行计划中各字段的描述
  1、基本字段(总是可用的)
       Id                 执行计划中每一个操作(行)的标识符。如果数字前面带有星号,意味着将在随后提供这行包含的谓词信息
       Operation  对应执行的操作。也叫行源操作
       Name        操作的对象名称
  
  2、查询优化器评估信息
       Rows(E-Rows)      预估操作返回的记录条数
       Bytes(E-Bytes)       预估操作返回的记录字节数
       TempSpc                预估操作使用临时表空间的大小
       Cost(%CPU)          预估操作所需的开销。在括号中列出了CPU开销的百分比。注意这些值是通过执行计划计算出来的。换句话说,父操作的开销包含子操作的开销
       Time                        预估执行操作所需要的时间(HH:MM:SS)
  
  3、分区(仅当访问分区表时下列字段可见)
       Pstart      访问的第一个分区。如果解析时不知道是哪个分区就设为KEY,KEY(I),KEY(MC),KEY(OR),KEY(SQ)
       Pstop      访问的最后一个分区。如果解析时不知道是哪个分区就设为KEY,KEY(I),KEY(MC),KEY(OR),KEY(SQ)
  
  4、并行和分布式处理(仅当使用并行或分布式操作时下列字段可见)
       Inst                在分布式操作中,指操作使用的数据库链接的名字
       TQ                 在并行操作中,用于从属线程间通信的表队列
       IN-OUT         并行或分布式操作间的关系
       PQ Distrib    在并行操作中,生产者为发送数据给消费者进行的分配
  
  5、运行时统计(当设定参数statistics_level为all或使用gather_plan_statistics提示时,下列字段可见)
       Starts       指定操作执行的次数
       A-Rows   操作返回的真实记录数
       A-Time    操作执行的真实时间(HH:MM:SS.FF)
  
  6、I/O 统计(当设定参数statistics_level为all或使用gather_plan_statistics提示时,下列字段可见)
       Buffers    执行期间进行的逻辑读操作数量
       Reads    执行期间进行的物理读操作数量
       Writes     执行期间进行的物理写操作数量        
  
  7、内存使用统计
       OMem             最优执行所需内存的预估值
       1Mem              一次通过(one-pass)执行所需内存的预估值
       0/1/M               最优/一次通过/多次通过(multipass)模式操作执行的次数
       Used-Mem    最后一次执行时操作使用的内存量
       Used-Tmp     最后一次执行时操作使用的临时空间大小。这个字段必须扩大1024倍才能和其他衡量内存的字段一致(比如,32k意味着32MB)
       Max-Tmp       操作使用的最大临时空间大小。这个字段必须扩大1024倍才能和其他衡量内存的字段一致(比如,32k意味着32MB)

二、执行计划中各模块的描述与举例
  1、预估的执行计划中的各字段与模块

  2、实际执行计划中的各字段与模块   

三、总结
  由上可知,在不同的情形下可以获得执行计划的不同信息,而不同信息则展现了SQL语句对应的不同情况,因此应根据具体的情形具体分析。                                                                  

抱歉!评论已关闭.