重庆思庄Oracle、Redhat认证学习论坛
标题: 查看sql语句的执行计划 [打印本页]
作者: 郑全 时间: 2012-7-11 00:12
标题: 查看sql语句的执行计划
1.产生执行计划
sql> explain plan for select employee_id,last_name from employees where employee_id=100;
2.查看执行计划
sql> select * from table(dbms_xplan.display);
作者: 张清扬 时间: 2013-5-6 11:40
这种方式查看执行计划和plsql开发工具上的F5有什么不同?
plsql上是在sql语句未执行前的预估
sqlplus上这个是执行后的统计?
作者: 郑全 时间: 2013-5-6 15:04
两个是一样的,都没有真实执行.
有plsql developer,当然不需要这个了,但有时用户是无法让你直接连接到数据库,要转很多个机器才能连接,这个时候,就只能使用sql语句了.
作者: zhouwei1990 时间: 2017-12-29 17:41
explain plan for
跟
PLSQL中的F5均是未执行前的一个执行计划评估。
set serveroutput off;
set timing on;
set line 200;
set pagesize 999;
alter session set statistics_level=all;
--执行要执行的SQL(执行较慢,可以在执行几分钟就ctrl+c取消掉)
select ...
--取以上执行计划
select * from table(dbms_xplan.display_cursor(null,null,'allstats last'));
这样取出来的执行计划,是经过实际执行后的执行计划。
欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) |
Powered by Discuz! X3.2 |