oracle案例:分析10053跟踪文件
2008-12-31 13:07:56 来源:WEB开发网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)
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接