`
yufeng0471
  • 浏览: 98383 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

获取执行计划的4种方式

 
阅读更多

获取执行计划的4种方式

 

1:从计划表中获取,计划表名默认是plan_table,可以直接查询计划表,也可以使用dbms_xplan.display函数

 

 

EXPLAIN PLAN FOR SELECT * from tbuser;

SELECT * from TABLE(dbms_xplan.display);
 

2:从动态视图中获取,有4个动态视图(v$sql_plan,v$sql_plan_statistics,v$sql_workarea,v$sql_plan_statistics_all),可以直接查询动态视图,也可以使用dbms_xplan.display_cursor函数

 

 

SELECT * from TABLE(dbms_xplan.display_cursor('1hqjysdfoiewr',0));
 

3:从awr库中获取,可以直接查询视图dba_hist_sql_plan,也可以使用dbms_xplan.display_awr函数

 

 

SELECT * from TABLE(dbms_xplan.display_awr('1hqjysdfoiewr'));
 

4:通过10053,10132,10046事件或sql_trace跟踪

 

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

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

 

执行计划中特殊字段说明

 

tempspc:      估算要使用的临时表空间,如果pga内存够用的话,这个字段应该就不显示了。

 

cost(%cpu):估算的成本,%cpu代表了cpu开销的百分比,父操作开销包含子操作开销。

 

starts:          操作执行次数,很有用。

 

a-rows:        返回的真实记录数。

 

a-time:         使用的真实时间。

 

omem:          最优执行所需内存的估算值。

 

imem:           一次通过(one-pass)执行所需内存的估算值。

 

0/1/m:          最优/一次通过/多次通过(multipass)操作执行的次数。

 

user-men:    最后一次执行时操作使用的内存。

 

user-tmp:     最后一次执行时操作使用的临时表空间大小,扩大1024倍。

 

max-tem:     操作使用的最大临时表空间大小,扩大1024倍。

 

注:one-pass 使用最少的磁盘操作,大部分操作在内存中执行。

 

      multipass 因工作区设置太小,存在大量的磁盘操作,性能下降。

 

分享到:
评论

相关推荐

    Oracle中使用DBMS_XPLAN处理执行计划详解

    在以前查看SQL执行计划的时候,我都是使用set autotrace命令,不过现在看来,DBMS_XPLAN包给出了更加简化的获取和显示计划的方式。 这5个函数分别对应不同的显示计划的方式,DBMS_XPLAN包不仅可以获取解释计划,它还...

    【数据库维护】-oracle远程维护程序

    通过远程连接Oracle数据库的方式实现对... 6) 获取SQL在内存中的执行计划。 7) 获取SQL语句中绑定变量的信息。 8) 查询REDO日志切换速度。 9) 表空间自动添加数据文件(仅支持ASM)。 10) 生成SQL语句优化建议。

    收获不止SQL优化

    3.1.5 获取执行计划的方法(6种武器) 40 3.2 读懂执行计划的关键 48 3.2.1 解释经典执行计划方法 49 3.2.2 总结说明 55 3.3 从案例辨别低效SQL 55 3.3.1 从执行计划读出效率 56 3.3.2 执行计划效率总结 60 ...

    收获,不止SQL优化--抓住SQL的本质

    3.1.5 获取执行计划的方法(6种武器) 40 3.2 读懂执行计划的关键 48 3.2.1 解释经典执行计划方法 49 3.2.2 总结说明 55 3.3 从案例辨别低效SQL 55 3.3.1 从执行计划读出效率 56 3.3.2 执行计划效率总结 60 ...

    易语言-获取谷歌浏览器cookies

    这个获取谷歌cookies的源码目前只能获取谷歌8.0以下的版本,源码是别人分享出来的但是由于谷歌自动更新的机制,我刚开始使用的时候,也是一度差点怀疑人生,只能用几个小时,就自己自动升级版本了,然后就去研究8.0...

    获取谷歌浏览器cookies源码-易语言

    这个获取谷歌cookies的源码目前只能获取谷歌8.0以下的版本,源码是别人分享出来的但是由于谷歌自动更新的机制,我刚开始使用的时候,也是一度差点怀疑人生,只能用几个小时,就自己自动升级版本了,然后就去研究8.0...

    SQL培训第一期

    结构化查询语言(Structured Query Language)简称SQL,是一种关系数据库查询语言,用于存取数据以及查询、更新和管理关系数据库系统。 1.2 语句结构 1.2.1 数据查询语言(DQL) 对数据库进行的信息查询,select。 ...

    DM 的命令行交互式工具 DIsql

    4.6查看执行计划 EXPLAIN 36 4.7设置异常处理方式 WHENEVER 36 4.8查看下一个结果集 MORE 37 4.9显示 SQL 语句或块信息 LIST 37 4.10插入大对象数据 38 5如何在 DISQL 中使用脚本 39 5.1编写脚本 39 5.2使用 START ...

    多线程、高性能采集器爬虫.net版源码,可采ajax页面

    4、任务执行计划 定时计划是一种自动化采集数据的手段,用户可根据需要自动控制数据采集的时间、频率; 1)可进行周、日及自定义的时间自动化执行采集任务,并可控制采集任务计划的失效时间; 2)可自动执行...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

     通过提示及配置文件等来控制执行计划;  在程序中优化查询而无需改动代码。  作为Oracle SQL经典著作之一,本书为SQL开发人员指明了前行的方向,赋予了他们不断开拓的动力。 作者简介  KAREN MORTON 研究...

    oracle动态性能表

    4:选择执行计划 5:产生执行计划 -- 如果5个步骤全做,这就叫hard parse. 注意物理I/O  oracle报告物理读也许并未导致实际物理磁盘I/O操作。这完全有可能因为多数操作系统都有缓存文件,可能是那些块在被读取。块...

    数据库系统管理制度V1.0.doc

    数据库变更 数据库系统变更 变更管理流程分为:需求调研、需求评审、变更申请、变更方案、变更审批、执行 变更六个步骤: 数据库的调整应针对问题先进行调研评审,再定制变更方案及实施计划回退方案后再 进行实施。...

    数据库系统管理制度V1.0(1).doc

    数据库变更 数据库系统变更 变更管理流程分为:需求调研、需求评审、变更申请、变更方案、变更审批、执行 变更六个步骤: 数据库的调整应针对问题先进行调研评审,再定制变更方案及实施计划回退方案后再 进行实施。...

    培训专题-沃尔玛供应商培训资料.pdf

    薪酬网(www.xinchou.cn) 库存管理 采购部 负责制定商品促销计划及特卖促销商品的补 货 营运部 负责执行公司的商品促销计划,根据商场的 计划用F4为部分特卖位商品订货建议 补货组 订货集中化: 负责商场货架上的...

    i18n4go:用于Golang的i18n工具

    除了上面的Gitter或Slack聊天之外,还有两种其他联系方式: 随时在Github上 。 通过Gmail域将电子邮件发送到i18n4go 。 入门 概述演示,讲座,博客 在2015年4月的上进行。幻灯片( 和 ), 2015年7月在IBM ...

    质量培训-ISO9001内审员培训教程(DOC-23页).doc.doc

    QMS审核种类 三种审核方式区别 4. QMS内部审核的目的: a.确定符合审核准则的程度。 b.判定体系的有效性。 c.提供改进机会。 d.满足外部认证的要求 第二部分 审核的策划与准备 1、确定审核范围: QMS覆盖的产品...

    期权激励办法模板.doc

    第七条 公司向经营者授予股权时,应与经营者签订协议,明确规定股权的授予对象、行权价格、行权期限、行权方式、行权条件以及特殊情况处理等约定双方权利和义务的各项条款,作为双方遵照执行股权计划的依据。...

    信息安全工程实验报告(附HOOK源码)

    实验四 经典Web漏洞-在线靶场完成的(暴力破解、验证码绕过、XSS、CSRF、SQL注入、远程代码执行、文件包含、文件下载和上传、越权漏洞)基本所有的在线靶场实验都做了 实验五 Windows系统中的HOOK技术(1.了解...

    PHP和MySQL WEB开发(第4版)

    2.10 更好的方式:数据库管理系统 2.10.1 使用普通文件的几个问题 2.10.2 RDBMS是如何解决这些问题的 2.11 进一步学习 2.12 下一章 第3章 使用数组 3.1 什么是数组 3.2 数字索引数组 3.2.1 数字索引数组的初始化 ...

Global site tag (gtag.js) - Google Analytics