oracle执行计划方式一:Autotrace自动跟踪功能


启用Autotrace自动跟踪功能

1.1.cmd命令sqlplu登录数据库

sqlplus 用户/密码

1.2.set autotrace的使用

设置参数/命令:

SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式
SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只显示优化器执行路径报告 
SET AUTOTRACE ON STATISTICS -- 只显示执行统计信息
SET AUTOTRACE ON ----------------- 包含执行计划和统计信息 
SET AUTOTRACE TRACEONLY ------ 同set autotrace on,但是不显示查询输出

1、3 Autotrace功能和sql语句结合执行

SET AUTOTRACE ON +sql:

在这里插入图片描述

SET AUTOTRACE OFF+sql:

在这里插入图片描述

SET AUTOTRACE TRACEONLY+sql;

在这里插入图片描述

使用方法就是 先执行set autotrace 参数执行相应得sql就可以根据前面参数得设置得到相应得sql执行计划进行详细分析。

1、4 AUTOTRACE Statistics(统计信息)常用列解释

代码:

SQL> SET AUTOTRACE ON STATISTICS;
SQL> select * from itpux;

SQL> SET AUTOTRACE ON STATISTICS;
SQL> select * from itpux;

        ID NAME
---------- ----------
         5 itpux04
         6 itpux04
         7 itpux04
         9 itpux04
         1 itpux01
         2 itpux02
         3 itpux03
         4 itpux04

已选择8行。


统计信息 1
----------------------------------------------------------
          0  recursive calls
          0  db block gets
         18  consistent gets
          0  physical reads
        172  redo size
        761  bytes sent via SQL*Net to client
        520  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          8  rows processed
统计信息 2
----------------------------------------------------------
          1  recursive calls
          0  db block gets
         69  consistent gets
          0  physical reads
          0  redo size
      40717  bytes sent via SQL*Net to client
        717  bytes received via SQL*Net from client
         20  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
        276  rows processed

不同得sql执行计划返回得统计信息也不相同,对此详解统计信息中信息:

1、recursive calls:用户和系统级别生成得递归调用数,简而言之就是sql中得sql。重要参数
2、db block gets:当前读
3、consistent gets 逻辑读:逻辑读从内存中读取数据块的数量,,逻辑读越多越好,重要参数
4、physical reads 物理读:物理读从磁盘中读取数据块得数量,主要发生得原因:1、数据库高速缓存中不存在这些块。2、全表扫描。3、磁盘排序;这个值越高说明从磁盘请求大量的数据到buffer cache总,通常意味着存在大量的全表扫描sql语句,会影响数据库的性能,尽量避免全表扫描,全表扫描的sql应添加相应索引,来优化sql; 物理读越少越好。重要参数

5、redo size:生成dml的redo日志记录大小。
6、sorts (memory):内存执行的排序量
7、sorts (disk):磁盘执行的排序量

40717 bytes sent via SQLNet to client:从SQLNet向客户端发送了40717字节的数据
717 bytes received via SQLNet from client:客户端向sqlnet发送了416字节的数据
20 SQL*Net roundtrips to/from client:从客户端发送和接收的oracle网络消息的总数,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值