AutoTrace执行结果说明

统计信息
---------------------------------------------------------
        299  recursive calls
          0  db block gets
       2359  consistent gets
          0  physical reads
          0  redo size
        410  bytes sent via SQL*Net to client
        385  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          5  sorts (memory)
          0  sorts (disk)
          1  rows processed

 

这些数据就是这条SQL语句的执行状态。下面分别说一下各个数据项的含义:

recursive calls

递归调用-执行SQL的时候的产生的递归调用的数量,这个参数和访问数据字典的次数有很大的关系。一般来说,这个参数值不会很大。

db block gets

DB块取-在发生INSERT,DELETE,UPDATE,SELECT FOR UPDATE的时候,数据库缓冲区中的数据库块的个数。在SELECT语句中一般为0。

db block gets + consistent gets = logical io (as opposed to physical io).

consistent gets

一致性读-除了SELECT FOR UPDATE的时候,从数据库缓冲区中读取的数据块的个数

db block gets + consistent gets = logical io (as opposed to physical io)

physical reads

物理读-physical reads = physical io (as opposed to logical io)

redo size

重做日志大小-执行SQL的过程中,产生的重做日志的大小

bytes sent via SQL*Net to client

通过sql*net发送给客户端的字节数

bytes received via SQL*Net from client

通过sql*net接受客户端的字节数

sql*net roundtrips to/from client

See how setting the arraysize affects SQL*Net roundtrips to/from client.

sorts(memory)

在内存中发生的排序

sorts(disk)

不能在内存中发生的排序,需要硬盘来协助

rows processed

结果的记录数

 

用AutoTrace进行优化的注意事项

1. 可以通过设置timing来得到执行SQL所用的时间,但不能仅把这个时间来当作SQL执行效率的唯一量度。这个时间会包括进行AUTOTRACE的一些时间消耗,所以这个时间并不仅仅是SQL执行的时间。这个时间会与SQL执行时间有一定的误差,而在SQL比较简单的时候尤为明显。

2. 判断SQL效率高低应该通过执行SQL执行状态里面的逻辑读的数量

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值