oracle中的sql执行计划怎么看

发布网友 发布时间:2022-04-23 20:25

我来回答

2个回答

懂视网 时间:2022-04-30 11:46

1、PL/SQL解释计划窗口

技术分享

优点:方面

缺点:看到信息有限

2、explain_plan for

技术分享

针对某个句子优化较方便

3、sqlplus

Sqlplus里输入命令:

set autotrace on

select * from emp;

数据显示出来后,跟着执行计划:

技术分享

这个语句的优点就是它的缺点,这样在用该方法查看执行时间较长的sql语句时,需要等待该语句执行成功后,才返回执行计划,使优化的周期大大增长。

如果不想执行语句而只是想得到执行计划可以采用:

set autotrace traceonly

如果执行该语句时遇到错误权限不足,解决方法为:

用sys用户登陆

Sqlplus > @ ?sqlplusadminplustrce.sql

Sqlplus > grant plustrace to user_name;

- - user_name是上面所说的分析用户

待续。。。

查看Oracle执行计划

标签:

热心网友 时间:2022-04-30 08:54

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.最简单的办法
Sql> set autotrace on
Sql> select * from al;
执行完语句后,会显示explain plan 与 统计信息。
这个语句的优点就是它的缺点,这样在用该方法查看执行时间较长的sql语句时,需要等待该语句执行成功后,才返回执行计划,使优化的周期大大增长。如果不想执行语句而只是想得到执行计划可以采用:
Sql> set autotrace traceonly

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com