暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
99-获取执行计划各方法
532
2页
41次
2019-10-28
免费下载
/*
.获取执行计划的 6 种方法:
1. explain plan for 获取; --如果某 SQL 执行
非常长时间才会出结果,甚至慢到返回不了结果,这时候看执行计划就只能用方法 1
步骤 1explain plan for "你的 SQL"
步骤 2select * from table(dbms_xplan.display());
2.set autotrace on -- 跟踪某条 SQL 最简
单的方法是方法 1,方法 2
步骤 1set autotrace on
步骤 2:在此处执行你的 SQL 即可,后续自然会有结果输出
3. statistics_level=all; -- 要想
获取表被访问的次数,只能使用方法 3
步骤 1alter session set statistics_level=all ;
或者 如果你用 /*+ gather_plan_statistics */ 的方法
步骤 2:在此处执行你的 SQL
步骤 3select * from table(dbms_xplan.display_cursor(null,null,'allstats
last'));
/*
关键字解读(其中 OMem1Mem User-Mem 在后续的课程中会陆续见到):
Starts 为该 sql 执行的次数。表被访问次数
E-ROWS 预测的行数
A-ROWS 真实的行数
Buffers 为每一步实际执行的逻辑读或一致性读。
Reads 为物理读。
OMem:当前操作完成所有内存工作区(Work Aera)操作所总共使用私有内存(PGA)中工作区的大小,
这个数据是由优化器统计数据以及前一次执行的性能数据估算得出的
1Mem:当工作区大小无法满足操作所需的大小时,需要将部分数据写入临时磁盘空间中(如果仅需要写入一
次就可以完成操作,
就称一次通过,One-Pass;否则为多次通过,Multi_Pass).该列数据为语句最后一次执行中,单次
写磁盘所需要的内存
大小,这个由优化器统计数据以及前一次执行的性能数据估算得出的
User-Mem:语句最后一次执行中,当前操作所使用的内存工作区大小,括号里面为(发生磁盘交换的次
,1 次即为 One-Pass,
大于 1 次则为 Multi_Pass,如果没有使用磁盘,则显示 OPTIMAL)
OMem1Mem 为执行所需的内存评估值,0Mem 为最优执行模式所需内存的评估值,1Mem one-pass
式所需内存的评估值。
0/1/M 为最优/one-pass/multipass 执行的次数。Used-Mem 耗的内存)
*/
4. 通过 dbms_xplan.display_cursor 输入 sql_id 参数直接获取 --如果想观察到某条 SQL 有多条
执行计划的情况,只能用方法 4 和方法 6
步骤 1select * from table(dbms_xplan.display_cursor('&sq_id')); (该方法是
从共享池里得到)
注:
1. 还有一个方法,select * from
table(dbms_xplan.display_awr('&sq_id'));(这是 awr 性能视图里获取到的)
2. 如果有多执行计划,可以用类似方法查出
select * from table(dbms_xplan.display_cursor('cyzznbykb509s',0));
select * from table(dbms_xplan.display_cursor('cyzznbykb509s',1));
5. 10046 trace 跟踪 --
如果 SQL 中含有多函数,函数中套有 SQL 等多层递归调用,想准确分析,只能使用方法 5
步骤 1alter session set events '10046 trace name context forever,level
12'; (开启跟踪)
步骤 2:执行你的语句
步骤 3alter session set events '10046 trace name context off'; (关闭跟踪)
步骤 4:找到跟踪后产生的文件
步骤 5tkprof trc 文件 目标文件 sys=no sort=prsela,exeela,fchela (格式化命令)
6. awrsqrpt.sql --
如果想观察到某条 SQL 有多条执行计划的情况,只能用方法 4 和方法 6
/*
步骤 1@?/rdbms/admin/awrsqrpt.sql
步骤 2:选择你要的断点(begin snap end snap)
步骤 3:输入你的 sql_id
*/
of 2
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜