10053事件

本文深入探讨了SQL执行过程中的成本计算方法,包括Oracle数据库的代价计算公式,并介绍了如何生成10053事件以获取详细的执行计划信息。通过调整参数和启用特定事件,可以深入了解SQL查询的执行细节。

10046:SQL到底是如何执行的

10053:SQL为什么要这样执行

一、数据库代价的计算方法

Oracle数据库代价的计算:

8i版本 COST=I/O,9i以上版本 COST=I/O + CPU (I/O占大约98%的比例,CPU大约占2%的比例)

 Cost = (

         #SRds +  --单块读时间

         #MRds * mreaditm / sreadtim +  --多块读时间

         #CPUCycles / (cpuspeed * sreadtim)  --CPU时间

        ) 

二、生成10053事件

2.1 10053事件有两个级别:

Level 2:2级是1级的一个子集,它包含以下内容:

Column statistics

Single Access Paths

Join Costs

Table Joins Considered

Join Methods Considered (NL/MS/HA)

Level 1: 1级比2级更详细,它包含2级的所有内容,在加如下内容:

Parameters used by the optimizer

Index statistics

2.2 启用10053事件:

ALTER session set tracefile_identifier='masicong';

ALTER SESSION SET EVENTS='10053 trace name context forever, level 1';

ALTER SESSION SET EVENTS='10053 trace name context forever, level 2'; 

关闭10053事件:

ALTER SESSION SET EVENTS '10053 trace name context off';

2.3 SQL_trace路径

在Oracle 10g中,SQL_TRACE生成的trace文件默认路劲是$ORACLE_BASE/admin/SID/udump.       

在Oracle 11g,trace 默认路径在:$ORACLE_BASE/diag/rdbms/orcl/orcl/trace目录下

本文出自 “无双城” 博客,请务必保留此出处http://929044991.blog.51cto.com/1758347/1167532

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值