`

查看oracle执行计划(命令实现)

阅读更多

 

如果在命令行中,建议使用这种方法.

set autotrace on

加上这个set命令后,执行任何SQL语句都会把执行计划和统计信息显示出来.

注意 :  这重方式每次都执行SQL语句,而下面的方法实际上并没有执行SQL语句.

 

 

 

 

看下面小练习,告诉你如何用oracle命令查看执行计划.

 

1.想要查看执法计划的SQL语句:

explain plan for select t.*, t.rowid from A5 t where t.l = '101214' and t.k like '%8号' order by i ;

 

 

2.查看此SQL语句的执行计划:

select * from table(dbms_xplan.display);

执行结果如下:

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 1156097717
---------------------------------------------------------------------------
| Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |        |    12 |  1524 |    71   (3)| 00:00:01 |
|   1 |  SORT ORDER BY      |        |    12 |  1524 |    71   (3)| 00:00:01 |
|*  2 |   TABLE ACCESS FULL| A5   |    12 |  1524 |    70   (2)| 00:00:01 |
----------------------------------------------------------------------------
Note
-----
   - 'PLAN_TABLE' is old version
 
12 rows selected

'PLAN_TABLE' is old version : 这句话告诉我们,PLAN_TABLE的版本太旧,需要重新生成.

 

3.重新生成PLAN_TABLE表:

-- 删除表
drop table PLAN_TABLE;
-- 新建表
@D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlxplan.sql;

 

4.查看执行计划:

select * from table(dbms_xplan.display);

结果如下:

 

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 1156097717
---------------------------------------------------------------------------
| Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |      |    12 |  1524 |    71   (3)| 00:00:01 |
|   1 |  SORT ORDER BY     |      |    12 |  1524 |    71   (3)| 00:00:01 |
|*  2 |   TABLE ACCESS FULL| A5   |    12 |  1524 |    70   (2)| 00:00:01 |
---------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
   2 - filter("T"."L"='101214' AND "T"."K" LIKE '%8号')
 
14 rows selected

 

 

 

 

 

 

 

 

0
3
分享到:
评论
4 楼 Mr-su 2013-11-26  
悲剧,不知道这个 “引用”是怎么用的?
3 楼 Mr-su 2013-11-26  
至尊宝_唯一 写道
个人还是更喜欢在PL/SQL developer中查看,查看的信息还可以个性化定制,挺不错的

至尊宝_唯一 写道
个人还是更喜欢在PL/SQL developer中查看,查看的信息还可以个性化定制,挺不错的


个性化定制见PL/SQL developer
Tools -> Preferences -> Window Types -> Plan Window
2 楼 ysj5125094 2012-11-13  
至尊宝_唯一 写道
个人还是更喜欢在PL/SQL developer中查看,查看的信息还可以个性化定制,挺不错的

咋定制啊?跟我说说呗,让我也学习学习,呵呵.
1 楼 至尊宝_唯一 2012-11-12  
个人还是更喜欢在PL/SQL developer中查看,查看的信息还可以个性化定制,挺不错的

相关推荐

    关于Oracle中执行计划稳定性深入研究

    总之,Oracle执行计划的稳定性与数据库性能紧密相关,理解并掌握优化器的工作原理以及如何控制执行计划的选择,是优化数据库性能的关键。在基于代价的优化器模式下,虽然存在执行计划不稳定的可能,但通过合理管理和...

    Oracle执行计划介绍与测试.pdf

    通过深入理解Oracle执行计划的查看、控制和优化方法,数据库管理员和开发人员能够更有效地管理数据库性能,确保在不同场景下都能获得最佳的查询效率。此外,合理利用HINT和OUTLINE不仅能提升单个查询的速度,还能...

    Oracle 执行计划

    Oracle执行计划是数据库执行SQL语句前确定的操作步骤序列。优化器根据表的统计信息、存储参数、可用的执行路径等生成执行计划,以实现最快的查询速度。执行计划通常用一系列数据库操作符来表示,这些操作符及其顺序...

    Oracle解释计划 执行计划

    Oracle数据库是目前广泛使用的关系型数据库管理...了解Oracle的执行计划不仅可以帮助开发人员和数据库管理员分析和诊断性能问题,还可以通过改进执行计划来优化SQL语句,最终实现提高数据库性能和资源使用效率的目标。

    oracle获取执行计划全部方法

    ### Oracle 获取执行计划全部方法详解 #### 方法一:Explain Plan for 方式 - **应用场景**:当某个 SQL 查询执行时间过长甚至无法返回结果时,这种方法尤其适用。 - **步骤**: 1. 使用 `EXPLAIN PLAN FOR` 命令...

    Oracle导入导出命令bat执行命.rar

    这个"Oracle导入导出命令bat执行命.rar"文件显然包含了一系列用于自动化这些过程的批处理(BAT)脚本。 首先,让我们来理解一下Oracle的导入导出命令。`expdp`和`impdp`是Oracle Data Pump的命令行工具,用于导出和...

    oracle数据库执行计划

    ### Oracle数据库执行计划详解 #### 一、执行计划概述 执行计划是指数据库处理SQL语句时所采取的具体步骤。在Oracle数据库中,当用户提交一个SQL查询时,并不会直接告诉数据库如何去执行这个查询,而是由数据库...

    在Oracle运行操作系统命令

    // 解析并执行命令 // ... // 将结果发送回管道 // ... // 断开数据库连接 // ... } ``` 这段C代码需要使用Pro*C/C++进行预编译和编译,以便与Oracle数据库交互。 #### 总结 通过上述步骤,可以在Oracle ...

    读懂oracle的执行计划

    在数据库管理系统领域中,Oracle数据库是其中的佼佼者,特别是在企业级应用中。...对于任何希望深化对Oracle数据库优化理解的数据库管理员或开发者来说,学会读懂和分析执行计划是实现高效数据库管理的基础。

    windows计划任务+批处理命令实现oracle数据库的自动备份.txt

    本文将深入探讨如何利用Windows计划任务与批处理命令实现Oracle数据库的自动备份,这是一个结合了操作系统自动化工具与数据库管理技术的高级应用案例。 ### 一、理解Windows计划任务 Windows计划任务是一个强大的...

    linux下批量执行oracle脚本的shell脚本

    首先,我们来看标题中的"linux下批量执行oracle脚本的shell脚本",这指的是在Linux操作系统中,通过编写shell脚本来自动化执行一系列针对Oracle数据库的SQL命令。Shell脚本是Linux系统中的一种强大的自动化工具,它...

    oracle备份脚本命令

    这里我们将重点讨论Oracle的物理备份,特别是通过脚本命令实现自动化备份的过程。 首先,Oracle备份的基本概念包括全备、增量备份和差异备份。全备份是指备份所有数据文件,增量备份只备份自上次备份以来发生改变的...

    oracle利用批处理文件执行SQL语句,bat连接oracle数据库并执行语句

    这通常通过Oracle的命令行工具SQL*Plus实现。SQL*Plus允许用户在命令行界面中执行SQL语句。在批处理文件中,我们可以通过以下格式设置连接信息: ```cmd sqlplus 用户名/密码@连接字符串 ``` 例如,如果用户名是`...

    启动、关闭 oracle11g bat 命令

    用户确认后,脚本将依次执行以下三个`net start`命令,分别启动Oracle的监听器、数据库实例和服务控制台: - `net start OracleOraDb11g_home1TNSListener`:启动Oracle的网络监听器,负责监听并接受来自客户端的...

    在Oracle数据库中运行操作系统命令

    在Oracle数据库中运行操作系统命令是特定场景下的需求,例如在Oracle 8i版本中,当需要在存储过程中执行操作系统级别的任务时,Oracle Enterprise Manager(OEM)提供的作业设定功能可能无法满足灵活的需求。...

    Oracle批处理:使用C# 自带Oracle驱动一次执行多条Sql语句

    本文将深入探讨如何在C#中利用Oracle自带的驱动来实现批处理,以一次执行多条SQL语句。 首先,我们需要了解Oracle的数据驱动,即ODP.NET(Oracle Data Provider for .NET)。这是Oracle公司为.NET开发者提供的一个...

    Oracle8i9i命令大全

    PL/SQL是Oracle特有的编程语言,它结合了SQL和过程编程,用于创建存储过程、函数、触发器等数据库对象,实现复杂的业务逻辑。 文档中提到的PL/SQL部分,会涵盖变量声明、流程控制结构(如IF-THEN-ELSE、WHILE循环)...

    利用windows系统计划任务执行oracle数据库批处理备份

    本文将深入探讨如何在Windows操作系统中利用计划任务来自动化执行Oracle数据库的批处理备份。 首先,我们需要理解Oracle数据库的备份类型。Oracle提供多种备份方式,包括物理备份(如使用RMAN,即恢复管理器)和...

Global site tag (gtag.js) - Google Analytics