oracle查看执行计划入门

基于Oracle的应用系统很多的性能问题都是由应用系统的SQL性能低劣引起的,因此SQL的性能优化非常重要。要分析与优化SQL的性能,一般是通过查看该SQL的执行计划,然后通过执行计划有针对性地对SQL进行相应的优化。

什么是执行计划(Explain Plan)

执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述。

SQL是一门傻瓜式语言,每一个条件就是一个需求,访问的顺序不同就形成了不同的执行计划。Oracle必须要做出选择,一次只能有一种访问路径,也就是一次只能有一个执行计划。那么这时候,哪种执行计划开销更低,就意味着性能更好,速度更快,Oracle就会选择哪一种执行计划。执行计划的生成过程叫做Oracle的解析过程,Oracle会自动分析执行计划,并把更好的执行计划放到SGA的Shared Pool里,后续再执行同样的SQL(对同样要求严格)的话,只需要在Shared Pool里面获取就行了,不需要再去分析。

我们则可以通过执行计划中的信息,对SQL进行有针对性的、引导式的相应的优化。

在PL/SQL中查看执行计划

1.在PL/SQL下可以按F5查看执行计划。很多人以为PL/SQL的执行计划只能看到基数、优化器和耗费等信息,其实这个可以在PL/SQL工具里面设置的,设置之后可以看到很多其他信息。

2.查看执行计划的语句。

EXPLAIN PLAN FOR 查询语句

完。

"如果把人生比作打扑克牌的话,那么厉害的人生不是在于能拿到一副好牌,而是在于把一副坏牌打好。"

原文地址:https://www.cnblogs.com/yanggb/p/10863148.html

时间: 2024-11-06 09:49:06

oracle查看执行计划入门的相关文章

Oracle 查看执行计划问题

一.描述在查看执行计划测试的过程中遇到使用dbms_xplan.display无法查看执行计划,发现是因为之前在测试的过程中打开了set autot on,关闭后(set autot off) ,执行计划可以正常显示. 二.操作过程 SQL> SQL> explain plan for select count(*) from tt; Explained. Elapsed: 00:00:00.00 SQL> set lines 200 pages 2000 SQL> select

oracle查看执行计划之DBMS_XPLAN

使用DBMS_XPLAN包中的方法是在oracle数据库中得到目标SQL的执行计划的另一种方法.针对不同的应用场景吗,你可以选择如下四种方法中的一种: select * from table(dbms_xplan.display) select * from table(dbms_xplan.display_cursor(null,null,'advenced')); select * from table(dbms_xplan.display_cursor('sql_id/hash_value

oracle查看执行计划

方法一: SQL> explain plan for select name from a,b where a.id=b.id; 已解释. SQL> select * from table(DBMS_XPLAN.DISPLAY); 方法二: SQL> set autotrace on explain;    //打开执行计划 SQL> select name from a,b where a.id=b.id; 查看结束后,记得关闭执行计划 SQL> set autotrace

Oracle数据库查看执行计划

基于ORACLE的应用系统很多性能问题,是由应用系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们一般通过查看该SQL的执行计划,本文就如何看懂执行计划,以及如何通过分析执行计划对SQL进行优化做相应说明. 一.什么是执行计划(explain plan) 执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述. 二.如何查看执行计划 1: 在PL/SQL下按F5查看执行计划.第三方工具toad等. 很多人以为PL/SQL的执行计划只能看到基数.优化器.耗

oracle如何查看执行计划

1.在PL/SQL Developer中得到一个SQL的执行计划 输入想要查看执行计划的目标SQL,再按一下快捷键F5就可以了.2.explain plan 命令 explain plan for + 目标SQL select * from table(dbms_xplan.display)3. DBMS_XPLAN 包 1) select * from table(dbms_xplan.display_cursor(null,null,'advanced')) 它用于在SQLPLUS中查看刚刚

数据库-Oracle通过执行计划查看查询语句是否使用索引【转】

1.生成执行计划 explain plan for select * from t_call_records where t_bjhm='123456' 备注:explain plan for后面为要生成执行计划的查询语句 2.查看执行计划结果 select * from table(dbms_xplan.display) 如上图所示,TABLE ACCESS FULL为全表扫描; 为t_bjhm列加上索引后生成执行计划并查看结果: 如上图所示,index range scan为索引范围扫描;

Oracle SQL执行计划基线总结(SQL Plan Baseline)

一.基础概念 Oracle 11g开始,提供了一种新的固定执行计划的方法,即SQL plan baseline,中文名SQL执行计划基线(简称基线),可以认为是OUTLINE(大纲)或者SQL PROFILE的改进版本,基本上它的主要作用可以归纳为如下两个: 1.稳定给定SQL语句的执行计划,防止执行环境或对象统计信息等等因子的改变对SQL语句的执行计划产生影响! 2.减少数据库中出现SQL语句性能退化的概率,理论上不允许一条语句切换到一个比已经执行过的执行计划慢很多的新的执行计划上! 注意:

分析oracle的执行计划(explain plan)并对对sql进行优化实践

基于oracle的应用系统很多性能问题,是由应用系统sql性能低劣引起的,所以,sql的性能优化很重要,分析与优化sql的性能我们一般通过查看该sql的执行计划,本文就如何看懂执行计划,以及如何通过分析执行计划对sql进行优化做相应说明. 一.什么是执行计划(explain plan) 执行计划:一条查询语句在oracle中的执行过程或访问路径的描述. 二.如何查看执行计划 1.set autotrace on 2.explain plan for sql语句; select plan_tabl

使用hint优化Oracle的执行计划

背景: 某表忽然出现查询非常缓慢的情况,cost 100+ 秒以上:严重影响生产. 原SQL: explain plan for select * from ( select ID id,RET_NO retNo, FROM_SYS fromSy, TO_SYS toSys, COMMAND_CODE commandCode, COMMAND, STATUS, EXT_CODE, ORIGN_CODE orignCode,error_message errorMessage, RE_F, RET