数据库中SQl执行计划--01


执行计划说明:
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 140.64 921.65 286181 7035288 0 1
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 3 140.64 921.66 286181 7035288 0 1

Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 86 (APPS)
Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max) Row Source Operation
---------- ---------- ---------- ---------------------------------------------------
1 1 1 SORT AGGREGATE (cr=7035288 pr=286181 pw=0 time=921659252 us)
1 1 1 PARTITION LIST SINGLE PARTITION: KEY KEY (cr=7035288 pr=286181 pw=0 time=921659238 us cost=3 size=39 card=1)
1 1 1 TABLE ACCESS BY LOCAL INDEX ROWID XLA_TRANSACTION_ENTITIES PARTITION: 9 9 (cr=7035288 pr=286181 pw=0 time=921659220 us cost=3 size=39 card=1)
30222127 30222127 30222127 INDEX SKIP SCAN XLA_TRANSACTION_ENTITIES_U1 PARTITION: 9 9 (cr=115720 pr=52531 pw=0 time=151161817 us cost=3 size=0 card=14612220)(object id 5888403)

Rows Execution Plan
------- ---------------------------------------------------
0 SELECT STATEMENT MODE: ALL_ROWS
1 SORT (AGGREGATE)
1 PARTITION LIST (SINGLE) PARTITION:KEYKEY
1 TABLE ACCESS MODE: ANALYZED (BY LOCAL INDEX ROWID) OF
'XLA_TRANSACTION_ENTITIES' (TABLE) PARTITION: START=9 STOP=9
30222127 INDEX MODE: ANALYZED (SKIP SCAN) OF
'XLA_TRANSACTION_ENTITIES_U1' (INDEX (UNIQUE)) PARTITION:
START=9 STOP=9

call     count       cpu    elapsed       disk      query    current        rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 140.64 921.65 286181 7035288 0 1
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 3 140.64 921.66 286181 7035288 0 1


说明:第一段落,展示了所执行SQL的文件。接着是一个包含统计信息的表格。
count:每个类型调用发生的次数。
cpu:所需的CPU时间(单位为秒)。
elapsed:所需的时间消耗(单位为秒)。
disk:所需要的磁盘读取的数量。
query、current:查询模式和当前模式缓存的数据。查询模式读取的块,通常是由一致读取的查询产生。而当前模式读取的块,通常来自自己存在块的变更。它们可以称为逻辑读。
rows:处理记录的条数。
Parse:进行解析,这一步会检查SQL语句的语法、对象的有效性及权限。接着由优化器确定这条语句的执行计划。
Execute:进行执行。SQL语句在这一步执行,如果是查询语句的话,则为第一次的提取操作做准备。对于有些查询(比如含有 for update的语句或执行排序的语句),系统会在这一步就检索出每一条记录。
Fetch:进行提取。查询语句从这里返回记录。
total:是对上面的一个总数的计算。

从这个表格当中,我们可以得到一些重要的比率,如下:
在fetch行中,块读取数据(query+current)与获取的记录数据(rows)的比率。这是查询语句的相对开销的一个粗略指标。返回一定数量的记录时,要访问的内存块越多,每条记录就显得越可贵。
在count列中,解析次数(Parse)与执行次数(Execute)的比率。在理想的情况下,<解析次数?>应接近于1。如果解析次数相对于执行次数来讲显得较高,那么,就表明这条语句在执行没有必要的重解析。
在fetch行中,提取记录数(rows)与提取次数(count)的比率。它表明数组提取机制使用的级别。
在total行中,磁盘读取数(disk)与逻辑读取数(query+current)的比率。它表明数据库缓存区高速缓存的命中率。

第一次执行计划:
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 86 (APPS)
Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max) Row Source Operation
---------- ---------- ---------- ---------------------------------------------------
1 1 1 SORT AGGREGATE (cr=7035288 pr=286181 pw=0 time=921659252 us)
1 1 1 PARTITION LIST SINGLE PARTITION: KEY KEY (cr=7035288 pr=286181 pw=0 time=921659238 us cost=3 size=39 card=1)
1 1 1 TABLE ACCESS BY LOCAL INDEX ROWID XLA_TRANSACTION_ENTITIES PARTITION: 9 9 (cr=7035288 pr=286181 pw=0 time=921659220 us cost=3 size=39 card=1)
30222127 30222127 30222127 INDEX SKIP SCAN XLA_TRANSACTION_ENTITIES_U1 PARTITION: 9 9 (cr=115720 pr=52531 pw=0 time=151161817 us cost=3 size=0 card=14612220)(object id 5888403)
第一次执行计划来自于语句关闭时存储在跟踪文件中的信息。这个执行计划不是由EXPLAIN PLAIN命令执行出来的,它代表了实际执行时的执行计划。
参数说明如下:
cr:表明这一步中,处理的逻辑块读取的数据。
pr:表明这一步中,处理物理块的读取的数据。
pw:表明这一步中,物理块的写的数量。
time:这一步所消耗的微秒数。
cost:这一步对应的优化成本。
size:处理的字节数。
card:处理的记录数。

第二次的执行计划则是由tkprof工具中的explain命令得出来的。
Rows Execution Plan
------- ---------------------------------------------------
0 SELECT STATEMENT MODE: ALL_ROWS
1 SORT (AGGREGATE)
1 PARTITION LIST (SINGLE) PARTITION:KEYKEY
1 TABLE ACCESS MODE: ANALYZED (BY LOCAL INDEX ROWID) OF
'XLA_TRANSACTION_ENTITIES' (TABLE) PARTITION: START=9 STOP=9
30222127 INDEX MODE: ANALYZED (SKIP SCAN) OF
'XLA_TRANSACTION_ENTITIES_U1' (INDEX (UNIQUE)) PARTITION:
START=9 STOP=9
第二次的执行计划则是由tkprof工具中的explain命令得出来的。

[/code]
[code="java"]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值