WEB开发网
开发学院数据库Oracle oracle案例:分析10053跟踪文件 阅读

oracle案例:分析10053跟踪文件

 2008-12-31 13:07:56 来源:WEB开发网   
核心提示: 5.在连接顺序部分查找连接,它们是第四步中找到的产生成本的连接.跟踪文件中往上查找成本20266,oracle案例:分析10053跟踪文件(10),你会找到如下行:Join result: cost: 20266 cdn: 1981 rcz: 140继续查找是哪个连接产生了这个(最低)成本

5.在连接顺序部分查找连接,它们是第四步中找到的产生成本的连接.

跟踪文件中往上查找成本20266,你会找到如下行: 

Join result: cost: 20266 cdn: 1981 rcz: 140

继续查找是哪个连接产生了这个(最低)成本 

Best NL cost: 20266 resp: 20266

从执行计划中,我们知道,它将是个NL连接,并且在这里得到了确认。在NL连接部分继续查找此成本。

  NL Join
  Outer table: cost: 15810 cdn: 1 rcz: 122 resp: 15809
  Inner table: CERT_INSURED_PLAN_BENEFIT_FACT
  ...
  OPTIMIZER PERCENT INDEX CACHING = 70
  Access path: index (no sta/stp keys)
  Index: PK_CIPBF_IX
  TABLE: CERT_INSURED_PLAN_BENEFIT_FACT
  RSC_CPU: 116668803 RSC_IO: 17885
  IX_SEL: 1.0000e+00 TB_SEL: 2.1281e-04
  Join: resc: 81471 resp: 20266

这里,我们看到"resp"成本的最佳成本被找到。这就是"response time"成本,例如,一个执行计划使用PX在尽可能短的时间内找到答案所消耗的成本。"resc" 成本就是 "resource cost"。当串行执行查询的时候,这就是资源消耗成本。完整的执行计划输出中会显示PX是否被使用。

我们需要弄清楚这个成本是怎么计算出来的。为此,我们要看看CBO是如何计算连接成本的。下面是基本计算公式,用实际值进行替换:

Basic NL join cost formula: COST(outer) + [ CARD(outer) * COST(inner) ]

注意:在下面的公式中,"RESC(outer)"指访问内层表的资源消耗。"RESP(outer)"指外层表的响应成本(使用PX) 

上一页  5 6 7 8 9 10 

Tags:oracle 案例 分析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接