`

Oracle优化AutoTrace输出内容的含义

阅读更多


SQLPLUS的AutoTrace是分析SQL的执行计划,执行效率的一个非常简单方便的工具,在绝大多数情况下,也是非常有用的工具。利用AutoTrace工具提供的SQL执行计划和执行状态可以为我们优化SQL的时候提供优化的依据,以及优化效果的明显的对比效果。

在SQLPLUS中输入相关AUTOTRACE命令,输入想要优化的SQL语句,即可得到SQL的执行计划和执行状态信息。

SQL> set timing on //开启时间显示
SQL> set autot traceonly //仅显示trace结果,不显示SQL执行结果
SQL> select * from ac01 where aac001=’9990000111′;

已用时间: 00: 00: 00.62

Execution Plan
———————————————————-
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 TABLE ACCESS (BY INDEX ROWID) OF ‘AC01′
2 1 INDEX (UNIQUE SCAN) OF ‘PK_AC01′ (UNIQUE)
Statistics
———————————————————-
0 recursive calls
0 db block gets
3 consistent gets
2 physical reads
0 redo size
1875 bytes sent via SQL*Net to client
424 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
用法: SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]
举例:
SET AUTOT[RACE] OFF 停止AutoTrace
SET AUTOT[RACE] ON 开启AutoTrace,显示AUTOTRACE信息和SQL执行结果
SET AUTOT[RACE] TRACEONLY 开启AutoTrace,仅显示AUTOTRACE信息
SET AUTOT[RACE] ON EXPLAIN 开启AutoTrace,仅显示AUTOTRACE的EXPLAIN信息
SET AUTOT[RACE] ON STATISTICS开启AutoTrace,仅显示AUTOTRACE的STATISTICS信息

三. 执行计划的分析
Execution Plan
———————————————————-
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 TABLE ACCESS (BY INDEX ROWID) OF ‘AC01′
2 1 INDEX (UNIQUE SCAN) OF ‘PK_AC01′ (UNIQUE)
———————————————————-

这个就是SQL select * from ac01 where aac001=’9990000111′;执行计划。
执行的过程为:
1) INDEX (UNIQUE SCAN) OF ‘PK_AC01′ (UNIQUE)
2) TABLE ACCESS (BY INDEX ROWID) OF ‘AC01′
执行计划是一个树状结构,计划的执行是从叶结点开始,直到根结点。所以不同的层上,越底层的越先被执行(第一列数字中较大的);不同层上,越左边的越先被执行(第二列数字中较小的)。
通过分析这个实行计划可以知道以下几点:
a) 这是一条SELECT语句
b) 数据库系统现在使用的优化器模式为CHOOSE
c) 执行的时候先通过AC01表上的唯一索引PK_AC01查找到相应记录的ROWID,然后通过索引的ROWID直接访问AC01表,找到相应的记录。
这是一条比较简单的SQL,所以执行计划也相对来说比较简单,没有涉及到过多的连接和索引等。
  • 大小: 25.8 KB
分享到:
评论

相关推荐

    Oracle SQL优化实例讲解.pdf

    通过上述知识点的详细说明,我们可以了解到Oracle SQL优化涉及多个层面的内容,从具体的优化技巧到理论概念,从基本的操作到高级的性能分析工具,每一个环节都是优化过程中不可或缺的一环。通过实例讲解,能够更加...

    ORACLE9i_优化设计与系统调整

    §14.1 Oracle优化器 170 §14.2 SQL处理体系结构 171 §14.2.1 解析程序 171 §14.2.2 优化程序 172 §14.2.3 行源程序产生器 172 §14.2.4 SQL执行 172 §14.3 EXPLAIN PLAN 172 §14.4 选择优化器路径及目标 172 ...

    Oracle SQL优化

    Oracle SQL优化是数据库性能管理中的重要环节,旨在提高查询效率、缩短响应时间和提升系统吞吐量。在深入探讨Oracle SQL优化的知识点之前,我们首先要明确其核心目标和优化的基本流程。 ### SQL优化的本质 在...

    oracle explain plan总结

    执行计划是指Oracle数据库优化器为执行特定SQL语句所选择的一系列操作步骤。通过查看执行计划,我们可以了解到SQL语句是如何被处理的,包括数据的访问方式、排序方法等。这有助于我们发现潜在的问题,并针对性地进行...

    2020年(Oracle管理)oracle数据库级别优化分析工具介绍.docx

    Oracle数据库的优化是确保系统高效运行的关键环节,而Oracle提供了多种工具来帮助管理员进行数据库级别的优化分析。在本文中,我们将深入探讨Oracle管理中的几个重要工具:Statspack、ASH(Automatic Workload ...

    ORACLE数据库查看执行计划

    在Oracle数据库环境中,SQL性能优化是提升应用系统性能的关键环节,因为许多性能问题往往源于SQL语句执行效率低下。为了优化SQL,理解并分析执行计划是必不可少的步骤。执行计划揭示了Oracle如何处理一个SQL查询,...

    oracle数据库性能调优(3)

    虽然实际的执行计划可能会根据Oracle版本、环境等因素有所变化,但通过理解这些概念和原理,数据库管理员和开发人员可以更好地优化SQL语句和数据库性能。 需要注意的是,Oracle的源代码不公开,因此对执行计划的...

    oracle的索引学习

    总之,Oracle的索引学习涵盖了从索引创建、选择合适的索引类型、理解数据操作对索引的影响,到使用Autotrace和DBMS_XPLAN进行性能分析等多个方面。深入理解和实践这些知识点,能帮助我们更好地管理和优化Oracle...

    Oracle的执行计划

    执行计划是由Oracle的优化器根据SQL语句的内容和数据库的统计信息自动生成的。可以通过SET AUTOTRACE ON命令或者使用EXPLAIN PLAN来查看具体的执行计划。 #### 十、如何分析执行计划 分析执行计划可以帮助我们了解...

    Oracle连接和使用.pdf

    autotrace是Oracle数据库中一个非常实用的工具,它可以生成SQL的执行计划,提供执行时间、缓冲区获取次数等统计信息,帮助优化SQL性能。尽管本文仅介绍了autotrace的基本使用,但实际它还包含更多高级功能,如...

    ORACLE命令行查看实际的执行计划

    在Oracle数据库管理中,了解查询的实际执行计划是优化SQL性能的关键步骤。这有助于识别潜在的瓶颈,例如排序操作是否在内存中完成还是需要利用磁盘空间。以下将详细阐述如何在Oracle命令行环境中查看实际的执行计划...

    Oracle执行计划.pptx

    7. **Autotrace输出**: 在示例中,设置了AUTOTRACE后,执行一个简单的SELECT FROM DUAL语句,展示了执行计划和统计信息。执行计划显示了该语句是一个全表扫描(FULL TABLE ACCESS),而统计信息则提供了关于数据库...

    Oracle经典常用技巧荟萃

    以下是对给定文件内容中提到的Oracle常用技巧进行的详细解析。 首先,关于Oracle安装优化篇的技巧,这部分介绍了Oracle 10g RAC(Real Application Clusters)的安装,以及FreeNAS共享存储的搭建,这些是构建高可用...

    SQL优化实例讲解

    `SQLTrace`是Oracle提供的一个强大的跟踪工具,可以记录SQL语句的执行细节,而`TKPROF`则是用来分析`SQLTrace`输出文件,将复杂的追踪信息转换为易于理解的格式,帮助用户定位查询中的性能问题。 ### 七、V$SQL视图...

    oracle获取执行计划全部方法

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

    SQL 优化教程

    - `SET AUTOTRACE TRACE[ONLY]` 来控制输出的内容。 - `SET AUTOTRACE EXPLAIN` 显示执行计划。 - `SET AUTOTRACE STATISTICS` 显示统计信息。 - `SHOW AUTOTRACE` 查看当前AUTOTRACE的设置。 **AUTOTRACE的使用...

    oracle

    ### Oracle 数据库设计优化及执行过程详解 #### 一、SQL语句类型 在Oracle数据库中,SQL语句被划分为几种不同的类型,这有助于更好地理解数据管理的不同方面。 - **DDL (Data Definition Language)**: 这类语言...

    Oracle查看SQL执行计划SQL性能分析.docx

    Autotrace是Oracle提供的一种方便查看SQL执行计划和统计信息的功能。它可以通过命令行设置不同的模式: - `set autotrace off`: 关闭autotrace功能。 - `set autotrace on explain`: 显示执行计划。 - `set ...

    获取SQL语句的执行计划v1

    - **使用autotrace**:通过设置不同的autotrace选项来控制显示的输出内容。 - `set autotrace on`:显示查询结果、执行计划和统计数据。 ```sql select * from emp; ``` - `set autotrace on statistics`:仅...

Global site tag (gtag.js) - Google Analytics