重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6610|回复: 3
打印 上一主题 下一主题

查看sql语句的执行计划

[复制链接]
跳转到指定楼层
楼主
发表于 2012-7-11 00:12:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

1.产生执行计划

  sql> explain plan for  select employee_id,last_name from employees where employee_id=100;

 

2.查看执行计划

  sql> select * from table(dbms_xplan.display);

 

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
发表于 2013-5-6 11:40:46 | 只看该作者

这种方式查看执行计划和plsql开发工具上的F5有什么不同?

 

plsql上是在sql语句未执行前的预估

sqlplus上这个是执行后的统计?

回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2013-5-6 15:04:22 | 只看该作者

两个是一样的,都没有真实执行.

有plsql developer,当然不需要这个了,但有时用户是无法让你直接连接到数据库,要转很多个机器才能连接,这个时候,就只能使用sql语句了.

回复 支持 反对

使用道具 举报

地板
发表于 2017-12-29 17:41:29 | 只看该作者
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'));

这样取出来的执行计划,是经过实际执行后的执行计划。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-27 17:37 , Processed in 0.122350 second(s), 19 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表