千家信息网

六种常用的sql执行计划查看方式介绍

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇内容主要讲解"六种常用的sql执行计划查看方式介绍",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"六种常用的sql执行计划查看方式介绍"吧!一、expl
千家信息网最后更新 2025年01月21日六种常用的sql执行计划查看方式介绍

本篇内容主要讲解"六种常用的sql执行计划查看方式介绍",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"六种常用的sql执行计划查看方式介绍"吧!

一、explain play

PL/SQL中的F5键

explain plan for sql语句

select * from table(dbms_xplan.display)

explain plan for 后将执行计划写入了plan_table$中,select * from table(dbms_xplan.display)就是将具体的步骤以格式化的形式写出来

二、dbms_xplan包

select * from table(dbms_xplan.display) 执行完explain plan for sql语句 后可以用这个直接查询

select * from table(dbms_xplan.display_cursor(null,null,'advanced')); 执行完某sql ,可以紧接着执行这条来查看执行计划

select * from table(dbms_xplan.display_cursor('sql_id/hash_value',child_cursor_number,'advanced')); 查看指定sql_id/hash_value的执行计划

select * from table(dbms_xplan.display_awr('sql_id')); 查看指定sql_id的历史执行计划,前面2和3需要执行计划还是share pool里,才能采集到,如果已经清空或者age out 出了share pool,则只能通过这个方法,从awr repository中得到执行计划

三、set autot

set autot on

set autot trace

set autot trace exp

set autot trace stat

set autot off

四、10046与tkprof

与上面三种相比,10046明确了sql实际执行计划中每一步的逻辑读,物理读和花费的时间

步骤

1、激活10046事件 alter session set events '10046 trace name context forever,level 12'; 或oradebug event 10046 trace name context forever,level 12;

2、执行sql

3、关闭10046事件alter session set events '10046 trace name context off' 或oradebug event 10046 trace name context off;

上面四种办法的前三种,得出的执行计划有可能是不准的

到此,相信大家对"六种常用的sql执行计划查看方式介绍"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0