视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
对Oracle执行计划进行监控
2020-11-09 12:22:28 责编:小采
文档


日常开发活动中,有时候需要对Oracle执行计划进行监控,以此来调优程序和数据库方面的性能。 常用方法有以下几种: 一

  日常开发活动中,有时候需要对Oracle执行计划进行监控,以此来调优程序和数据库方面的性能。

  常用方法有以下几种:

  一、通过PL/SQL Dev工具
  1、直接File->New->Explain Plan Window,在窗口中执行sql可以查看计划结果。其中,Cost表示cpu的消耗,单位为n%,Cardinality表示执行的行数,等价Rows。
  2、先执行 EXPLAIN PLAN FOR   select * from tableA where paraA=1,再 select * from table(DBMS_XPLAN.DISPLAY)便可以看到oracle的执行计划了,看到的结果和1中的一样,所以使用工具的时候推荐使用1方法。
  注意:PL/SQL Dev工具的Command window中不支持set autotrance on的命令。还有使用工具方法查看计划看到的信息不全,,有些时候我们需要sqlplus的支持。

  二、通过sqlplus
  1、一般情况都是本机链接远程服务器,所以命令如下:
  sqlplus user/pwd@serviceName
  此处的serviceName为tnsnames.ora中定义的命名空间。
  2、执行set autotrace on,然后执行sql语句,会列出以下信息:
  。。(省略一些信息)
  统计信息  
  1  recursive calls (归调用次数)
  0  db block gets
  2  consistent gets
  0  physical reads (物理读——执行SQL的过程中,从硬盘上读取的数据块个数)
  0  redo size (重做数——执行SQL的过程中,产生的重做日志的大小)
  358  bytes sent via SQL*Net to client
  366  bytes received via SQL*Net from client
  1  SQL*Net roundtrips to/from client
  0  sorts (memory)     在内存中发生的排序
  0  sorts (disk)     在硬盘中发生的排序
  1  rows processed
  省略部分信息和通过PL/SQL Dev工具查看执行计划的信息一样,下面的统计信息是更详细的。
  判断SQL效率高低不关通过时间来衡量,还应该通过执行SQL执行状态里面的逻辑读的数量
  逻辑读=(db block gets+ consistent gets)

下载本文
显示全文
专题