千家信息网

查看执行计划的方法【在前人的基础上学习和总结】

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,exp:create table t1 as select * from dba_objects;create table t2 as select * from dba_objects;通常,在开发
千家信息网最后更新 2025年11月07日查看执行计划的方法【在前人的基础上学习和总结】

exp:create table t1 as select * from dba_objects;

create table t2 as select * from dba_objects;

通常,在开发环境中,研究所"谱写"的sql的执行计划,还是很有必要的。

个人在学习和总结过程中,分析了下面这几种查看预估和实际执行计划的方法,并总结了下。

通常,我们在PL/SQL developer 中,运行oracle自带的执行计划查看方法就可以了[方法3]。

在命令行sqlplus 中,运用[方法1]就可以。

其他方法,可作为参考,理解语法即可。

-----------------------------------------

方法1:sqlplus中

set autotrace on select * from t1 where t1.object_id <=1000; 可以查看结果和执行计划以及统计信息;[若是sql改写的足够简单,可尝试用这种方法执行;比如查询内容换成count(1)] set autotrace traceonly select * from t1 where t1.object_id <=1000;

可以查看执行计划以及统计信息,且不执行sql;

-----------------------------------------

方法2:sql window 中 explain plan for select * from t1 where t1.object_id <=1000; select * from plan_table; --查看的不是太清晰,理解即可 select * from table(dbms_xplan.display);

这种方法可以查看执行计划以及统计信息,且不执行sql;

-----------------------------------------

方法3:快捷键(可以通过sql/plus dev默认的快捷键F5) 设置执行计划的快捷键的方法:

tools >>Preferences>>key Configuration >>File /New /Explain Plan Window exp: ctrl + 3 ||默认的 F5[使用习惯看个人,我习惯使用第一种快捷方法]

-----------------------------------------

方法4:通过数据字典v$sql和v$sql_plan查看 SELECT * from t1,t2 WHERE t1.object_id=t2.object_id; select sql_text,sql_id,hash_value,child_number from v$sql where sql_text like '%SELECT * from t1,t2%'; select * from table(dbms_xplan.display_cursor('2rqyd7uh0g6pc/2684852908',child_cursor_number,'advanced')); --当上面这种无法查出的时候,说明display_cursor没有收录,需要下面的方法查询

SELECT * from v$sql_plan WHERE sql_id = '2rqyd7uh0g6pc';

-----------------------------------------

方法5:通过dbms_xplan.display_awr查看 #VERSION_COUNT代表有几种不同的执行计划 SELECT * from t1,t2 WHERE t1.object_id=t2.object_id; select sql_text,sql_id,hash_value,child_number from v$sql where sql_text like '%select * from emp%'; #查看指定SQL的所有历史执行计划,前提是该SQL的执行计划被采集到AWR Repository中 select * from table(dbms_xplan.display_awr('sql_id'));

select * from table(dbms_xplan.display_awr('2rqyd7uh0g6pc'));

-----------------------------------------


方法 信息 快捷键 统计 个人 查询 学习 不同 必要 代表 内容 前提 历史 可以通过 命令 字典 实际 数据 时候 环境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 筑牢铁路网络安全屏障 银行类软件开发 哪些部门有征信数据库 舜齐软件开发有限公司招聘 数据库中设置字段属性用什么视图 数据库服务开机自启动的命令 乐山软件开发安全青岗科技 租用服务器常见问题怎么处理 莱阳管理系统软件开发公司有哪些 湖北税务安全服务器 计算机网络技术需要哪两个支持 基于ios的软件开发 宝德服务器环境标志证书 网络安全法 部门负责 下列关于网络安全法说法错误 怎样查看管理苹果服务器上的照片 ado.net连接数据库 郑州众超软件开发 群晖重建pgsql数据库 小程序搭建服务器多少钱一个月 电脑网络安全设置在哪 腾讯网络安全教育培训机构 update 数据库 网络安全法 部门负责 网络安全法 网站 处罚 如何利用网络技术销售特产品 app上海服务器公司有哪些 中国根域名服务器 一句话形容软件开发 沃德网络技术东莞
0