重庆思庄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