`

oracle sql执行计划autotrace 安装

阅读更多

 

        小生对oracle了解不多,平时也仅是简单的应用。写的sql多了,问题也就多,经常闹得DBA很蛋疼。网上搜罗了一下,oracle10 有个explain 工具,autotrace开启后,sqlplus里 执行sql就可以看到执行计划分析,这个可以帮助自己做个简单的sql性能分析。

     

    
SQL> connect sys/sys as sysdba;
SQL> @/opt/oracle/product/10.2/db_1/sqlplus/admin/plustrce.sql;
SQL> create public synonym plan_table_explain for plan_table;--建立同义词
SQL> grant all on plan_table_explain to public;--授权所有用户
SQL>@/opt/oracle/product/10.2/db_1/sqlplus/admin/plustrce.sql;
SQL>grant plustrace to public;
SQL>set autotrace on;---开启autotrace
SQL> set timing on;--显示执行时间

SQL>spool d:\test.txt;
SQL> select * from nm_sp_type ;

    TYPEID TYPENAME                                                                                
---------- --------------------                                                                    
         1 内部                                                                                    
         2 外部                                                                                    
         3 测试                                                                                    


执行计划
----------------------------------------------------------                                         
Plan hash value: 688850876                                                                         
                                                                                                   
--------------------------------------------------------------------------------                   
| Id  | Operation         | Name       | Rows  | Bytes | Cost (%CPU)| Time     |                   
--------------------------------------------------------------------------------                   
|   0 | SELECT STATEMENT  |            |     3 |    24 |     3   (0)| 00:00:01 |                   
|   1 |  TABLE ACCESS FULL| NM_SP_TYPE |     3 |    24 |     3   (0)| 00:00:01 |                   
--------------------------------------------------------------------------------                   


统计信息
----------------------------------------------------------                                         
          0  recursive calls                                                                       
          0  db block gets                                                                         
          8  consistent gets                                                                       
          0  physical reads                                                                        
          0  redo size                                                                             
        450  bytes sent via SQL*Net to client                                                      
        338  bytes received via SQL*Net from client                                                
          2  SQL*Net roundtrips to/from client                                                     
          0  sorts (memory)                                                                        
          0  sorts (disk)                                                                          
          3  rows processed                                                                        

SQL> select * from nm_sp_type where typeid = 0 ;

未选定行


执行计划
----------------------------------------------------------                                         
Plan hash value: 4154109726                                                                        
                                                                                                   
--------------------------------------------------------------------------------------------       
| Id  | Operation                   | Name         | Rows  | Bytes | Cost (%CPU)| Time     |       
--------------------------------------------------------------------------------------------       
|   0 | SELECT STATEMENT            |              |     1 |     8 |     1   (0)| 00:00:01 |       
|   1 |  TABLE ACCESS BY INDEX ROWID| NM_SP_TYPE   |     1 |     8 |     1   (0)| 00:00:01 |       
|*  2 |   INDEX UNIQUE SCAN         | SYS_C0019321 |     1 |       |     0   (0)| 00:00:01 |       
--------------------------------------------------------------------------------------------       
                                                                                                   
Predicate Information (identified by operation id):                                                
---------------------------------------------------                                                
                                                                                                   
   2 - access("TYPEID"=0)                                                                          


统计信息
----------------------------------------------------------                                         
          0  recursive calls                                                                       
          0  db block gets                                                                         
          1  consistent gets                                                                       
          0  physical reads                                                                        
          0  redo size                                                                             
        295  bytes sent via SQL*Net to client                                                      
        327  bytes received via SQL*Net from client                                                
          1  SQL*Net roundtrips to/from client                                                     
          0  sorts (memory)                                                                        
          0  sorts (disk)                                                                          
          0  rows processed                                                                        

SQL> spool off ;---关闭保存

SQL>set autotrace off ;---关闭自动计划跟踪

结果分析稍后补上

分享到:
评论

相关推荐

    读懂oracle sql执行计划

    Oracle SQL执行计划是指Oracle数据库为SQL语句制定的一系列执行步骤,这些步骤指导数据库如何高效地访问数据和执行SQL语句。执行计划对于Oracle数据库的性能调优至关重要,因为它能够揭示SQL语句的执行细节,帮助...

    oracle怎么查看执行计划

    AUTOTRACE是Oracle提供的一种强大的工具,用于自动展示SQL语句的执行计划以及相关统计信息,帮助DBA和开发人员更方便地理解SQL语句的执行过程。 #### AUTOTRACE概述 AUTOTRACE实用程序集成了TKPROF和EXPLAIN PLAN的...

    Oracle中SQL语句执行效率的查找与解决

    Oracle提供了多种工具来分析SQL执行计划,包括EXPLAIN PLAN和AUTOTRACE。通过这些工具,可以详细查看SQL语句如何访问表和索引,以及执行过程中涉及的操作类型。 #### 二、执行计划优化 Oracle数据库的执行计划选择...

    SQL执行计划简单分析

    Oracle 数据库提供了多种方法来查看 SQL 语句的执行计划,例如使用 PL/SQL Developer、EM 或者 SQLPLUS 工具等。下面我们将使用 SQLPLUS 工具来分析 SQL 语句的执行计划。 使用 SQLPLUS 查看执行计划 -------------...

    获取SQL语句的执行计划v1

    在Oracle数据库中,了解SQL语句的执行计划对于优化查询性能至关重要。本文档详细介绍了几种不同的方法来获取SQL语句的执行计划,包括使用autotrace、EXPLAIN PLAN以及DBMS_XPLAN.DISPLAY_CURSOR等。 #### 方法1:...

    oracle 的Autotrace介绍

    Oracle Autotrace 是 Oracle 10g 中的一项新技术,用于自动跟踪 SQL 语句的执行计划并提供与该语句的处理有关的统计。Autotrace 是 SQL*Plus 的一项功能,可以用来替代 SQL Trace 使用。Autotrace 的好处是您不必...

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

    在Oracle数据库系统中,执行计划是数据库为了执行SQL查询而制定的一种操作策略,它详细描述了数据如何被访问、如何排序、如何过滤等一系列步骤。执行计划的稳定性涉及到查询性能的可预测性和一致性,这对于数据库...

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

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

    Oracle的执行计划

    **共享SQL语句**:为了提高性能并减少资源消耗,Oracle在第一次解析某个SQL语句后,会将其以及相应的执行计划缓存在内存中。这部分内存位于系统全局区域(SGA)中的共享池(shared pool),所有用户都可以访问这些已缓存...

    oracle使用autotrace 功能

    Oracle的Autotrace是SQL*Plus中的一个强大工具,它主要用于帮助数据库管理员和开发人员分析SQL查询的执行计划,并收集执行时的性能统计数据。通过这些信息,可以有效地进行SQL查询优化,提高数据库的性能。下面是...

    Oracle执行计划与SQL优化实例.pptx

    2. **SQL\*Plus AutoTrace功能**:除了显示执行计划,AutoTrace还提供执行过程中的统计信息,如逻辑读次数,这对于评估查询效率很有帮助。 3. **10046 Event**:通过设置`ALTER SESSION SET EVENTS '10046 TRACE ...

    oracle获取执行计划全部方法

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

    Oracle的SQL语句执行效率问题查找与解决方法文.pdf

    Explain Plan 是一个非常有用的工具,可以帮助我们查看 SQL 语句的执行计划,从而优化 SQL 语句的执行效率。使用 Explain Plan 需要创建 Explain_plan 表,并且需要进入相关应用表、视图和索引的所有者的帐户内。 ...

    ORACLE数据库查看执行计划

    执行计划揭示了Oracle如何处理一个SQL查询,包括数据的访问路径、使用的索引、排序方式以及表之间的连接顺序等。本文将深入探讨如何查看执行计划,并提供优化SQL的策略。 一、执行计划的概念 执行计划是Oracle...

    Oracle执行计划1.ppt

    Oracle 执行计划是 Oracle 数据库中的一种机制,用于优化 SQL 语句的执行过程。它决定了如何访问存储器,得到需要的结果集。执行计划的主要内容包括访问方式和访问顺序。 Oracle 执行计划的生成方式有三种:Explain...

    Oracle执行计划.ppt

    * Autotrace 工具:Autotrace 是 Oracle 提供的一种工具,可以自动跟踪执行计划。 * 其他工具:还有其他工具可以获取执行计划,例如 Oracle Enterprise Manager 等。 四、执行计划的优化 执行计划的优化是指 ...

    oracle执行计划建立与阅读

    Oracle执行计划是数据库管理系统在处理SQL语句时的预估工作流程,它是Oracle优化器根据当前数据分布、索引情况和系统资源等信息选择的最佳执行策略。了解和分析执行计划对于提升SQL语句的性能至关重要。 一、生成...

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

    在Oracle中,执行计划是数据库优化器根据SQL语句特性生成的一系列步骤,用于指导数据库如何执行查询以获取数据。一个高效的执行计划能够显著提升查询性能,降低资源消耗,对于数据库性能优化至关重要。 #### 查看...

    oracle数据库执行计划

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

Global site tag (gtag.js) - Google Analytics