查看oracle的sql执行计划主要有以下几种方式
1 在线查看执行计划
1.1 explain plan for
1.1.1 规则
在sql窗口或sql*plus终端
1、首先执行explain plan for [目标sql语句] ;取得计划解释
2、然后通过DBMS_XPLAN.DISPLAY方法生成计划详情输出:
select * from table(DBMS_XPLAN.DISPLAY);或
select plan_table_output from table(dbms_xplan.display('plan_table',null,'serial'));
1.1.2 举例
explain plan for select count(1) from dual;
select * from table(DBMS_XPLAN.DISPLAY);或
select plan_table_output from table(dbms_xplan.display('plan_table',null,'serial'));
输出如下所示:
2 使用oracle第三方工具
2.1 plsql developer
2.1.1 规则
在sql窗口,选定[目标sql语句],按F5快捷键直接会跳到Explain Plan Window或直接File->New->Explain Plan Window,在窗口中输入[目标sql语句],就可以查看计划结果,
其中,Cost表示cpu的消耗,单位为n%,Cardinality表示执行的行数,等价Rows
2.1.2 举例
File->New->Explain Plan Window,输入
select * from dual,F10输出如下所示:
2.2 toad
2.2.1 规则
在toad的Edits窗口,选定[目标sql语句], (Ctrl+E)快捷键或点击[Run explain plan for current statement],即可在下方输出执行计划详情。
2.2.2 举例
3 SQL*PLUS
在sql*plus命令行终端(PL/SQL Dev工具的Command window中不支持set autotrance on的命令。还有使用工具方法查看计划看到的信息不全,有些时候可能需要sqlplus的支持)中,除了支持explain plan for的那种方式外,还支持以set autotrace on的方式进行较详细的计划及统计信息输出。
注意:
1、如果PLAN_TABLE表不存在:
执行$ORACLE_HOME/rdbms/admin/utlxplan.sql创建plan_table表。
2、如果PLUSTRACE角色不存在,
执行$ORACLE_HOME/sqlplus/admin/plustrce.sql
3.1 规则
1、执行set autotrace on; 生成AUTOTRACE 报告
2、然后执行[目标sql语句],当完成后会把结果及执行计划、统计信息等自动显示出来。
关于Autotrace几个常用选项附加说明:
1、SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式
2、SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只显示优化器执行路径报告
3、SET AUTOTRACE ON STATISTICS -- 只显示执行统计信息
4、SET AUTOTRACE ON ----------------- 包含执行计划和统计信息
5、SET AUTOTRACE TRACEONLY ------ 同set autotrace on,但是不显示查询
3.2 举例
登陆sqlplus终端连接指定数据库后,依次执行以下:
set autotrace on;
select * from dual;
- 大小: 25.3 KB
- 大小: 6.8 KB
- 大小: 18.1 KB
- 大小: 27.6 KB
分享到:
相关推荐
本文将详细介绍如何在DB2中查看SQL执行计划,并通过实际案例深入解析相关命令及其参数的作用。 ### 一、DB2简介 DB2是IBM公司开发的一款关系型数据库管理系统(RDBMS),广泛应用于企业级应用中。它支持多种操作系统...
Oracle 数据库提供了多种方法来查看 SQL 语句的执行计划,例如使用 PL/SQL Developer、EM 或者 SQLPLUS 工具等。下面我们将使用 SQLPLUS 工具来分析 SQL 语句的执行计划。 使用 SQLPLUS 查看执行计划 -------------...
### 解剖SQL Server执行计划 #### 一、执行计划概览 在深入探讨SQL Server执行计划之前,我们首先需要理解什么是执行计划以及它为何如此重要。执行计划是SQL Server优化器为查询选择的最佳运行策略。当数据库...
本文档主要介绍了与SQL调整有关的内容,涉及多个方面:SQL语句执行的过程、ORACLE优化器、表之间的关联、如何得到SQL执行计划、如何分析执行计划等内容。通过从浅入深的方式了解SQL优化的过程,使大家逐步步入SQL...
Oracle SQL执行计划分析器功能的创建3步曲: 1 首先,编译XYG_ALD_SESS_PKG的Package头。 (XYG_ALD_SESS_PKG.sql) 2 接着要建立好下面的4个视图对象。因为XYG_ALD_SESS_PKG包体会用到。(View Create Script v...
不同于TKPROF需要格式化跟踪文件才能查看执行计划,AUTOTRACE可以在执行SQL语句的同时生成执行计划,无需额外步骤。同样,与EXPLAIN PLAN相比,AUTOTRACE不仅展示了执行计划,还执行了SQL语句,从而能够提供更加准确...
而实际执行计划是在查询执行后生成的,它提供了关于查询实际执行方式的详细信息。 **3. 执行计划重用** 为了提高效率,SQL Server会在执行计划缓存中存储已经优化过的执行计划。当相同的查询再次执行时,系统可以...
在PL/SQL中查看执行计划,可以使用`EXPLAIN PLAN`语句或直接在开发工具如PL/SQL Developer中运行SQL并查看其执行计划。例如,假设我们有一个未对`Input_time`字段建立索引的表`tb_merp_schedul_log`,并执行了一个...
SQL Server提供了多种方式来查看执行计划,如显示实际执行计划、显示估计执行计划或通过图形化界面查看。 例如,`GrantFritchey_SQLServerExecutionPlans_Code`这个文件很可能包含的是一个关于如何理解和解析SQL ...
在不同的数据库系统中,如MySQL、Oracle、SQL Server等,都有相应的命令或工具用于查看SQL语句的执行计划,例如SQL Server的`SET SHOWPLAN_ALL`或`SET SHOWPLAN_TEXT`,Oracle的`EXPLAIN PLAN`。 4. **执行计划的...
### 获取SQL语句的执行计划 在Oracle数据库中,了解SQL语句的执行计划对于优化查询性能至关重要。本文档详细介绍了几种不同的方法来获取SQL语句的执行计划,包括使用autotrace、EXPLAIN PLAN以及DBMS_XPLAN.DISPLAY...
### Oracle查看SQL执行计划与SQL性能分析 #### 一、引言 在数据库管理与优化领域,SQL执行计划是评估查询效率的关键因素之一。通过理解并优化SQL执行计划,可以显著提升应用程序的性能。本文将详细介绍如何在...
3. **SQL执行计划解析**:SQL语句的执行计划是理解其运行方式的关键。Oracle提供了多种工具来分析SQL执行计划,包括EXPLAIN PLAN和AUTOTRACE。通过这些工具,可以详细查看SQL语句如何访问表和索引,以及执行过程中...
本文档主要介绍与SQL调整有关的内容,内容涉及多个方面:SQL语句执行的过程、ORACLE优化器,表之间的关联,如何得到SQL执行计划,如何分析执行计划等内容,从而由浅到深的方式了解SQL优化的过程,使大家逐步步入SQL...
Oracle SQL执行计划是指Oracle数据库为SQL语句制定的一系列执行步骤,这些步骤指导数据库如何高效地访问数据和执行SQL语句。执行计划对于Oracle数据库的性能调优至关重要,因为它能够揭示SQL语句的执行细节,帮助...