`

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怎么查看执行计划

    怎么进行autotrace进行查看执行计划

    获取SQL语句的执行计划v1

    获取 SQL 语句的执行计划 方法 1:使用 autotrace 查看执行计划 配置使用 autotrace 下面的例子为用户 scott 配置使用 autotrace。 创建角色 PLUSTRACE,并将角色授予用户 scott

    Oracle执行计划.pptx

    Oracle 执行计划是数据库管理系统中的一种机制,用于优化 SQL 语句的执行效率。执行计划是 Oracle 内部的机器级代码,决定如何访问存储器,得到需要的结果集。执行计划的主要内容包括访问方式、访问顺序等。 执行...

    Oracle性能分析——使用set_autotrace_on和set_timing_on来分析select语句的性能.doc

    Oracle 数据库性能分析是数据库优化的重要步骤之一,通过对 SQL 语句的执行计划和运行时间的分析,可以了解数据库的性能瓶颈,从而进行优化。 Oracle 提供了多种方式来获得一条 SQL 语句的查询计划,例如使用 ...

    Oracle执行计划详细解读.pptx

    2. 使用 Autotrace 工具:Autotrace 是 Oracle 提供的一种工具,用于跟踪 SQL 语句的执行过程,可以生成执行计划。例如: ```sql set autotrace on; select * from dual; ``` 3. 使用其他工具:还有其他一些工具可以...

    oracle使用autotrace 功能

    AUTOTRACE是一个SQL*Plus工具,用于跟踪SQL的执行计划,收集执行时所耗用资源的统计信息,是SQL优化工具之一,下面给出启用AUTOTRACE 功能步骤。

    大牛出手Oracle SQL优化实例讲解

    1.Oracle如何得到一个很大的表 2.loop insert 实例 3.autotrace验证索引的性能到底有多大? 4.EXPLAIN验证SQL是否走索引 5.结合autotrace创建并验证函数索引 6.sql trace分析工具--TKPROF详细讲解 7.V$SQL视图详解加...

    Oracle中使用DBMS_XPLAN处理执行计划详解

    DBMS_XPLAN是Oracle提供的一个用于查看SQL计划,包括执行计划和解释计划的包;在以前查看SQL执行计划的时候,我都是使用set autotrace命令,不过现在看来,DBMS_XPLAN包给出了更加简化的获取和显示计划的方式。 这5...

    查看Oracle的执行计划一句话命令

    SET AUTOTRACE 命令是 Oracle 中的一个特殊命令,用于显示当前会话中的执行计划。该命令可以在 SQL 命令行工具中输入,例如 SQL*Plus 或 Oracle SQL Developer。 基本语法为: ``` SET AUTOTRACE ON|OFF|TRACEONLY ...

    Oracle优化常用概念.pptx

    可以使用 Pl/sql 中按 F5、Explain plan、Sql trace 和 Sql/plus autotrace 等方式生成执行计划。要看懂执行计划,需要多看执行计划,网上查一下具体含义。 统计信息和柱状图 统计信息是 Oracle 优化器计算成本所...

    Oracle数据库连接与会话

    在SQL*Plus中打开autotrace后,当执行DML操作(insert、update、delete、select和merge)时,SQL*Plus将完成以下操作: 1. 如果第二个会话不存在,则使用当前连接创建一个新的会话。 2. SQL*Plus要求产生的新会话...

    DBLINK 无统计信息导致SQL变慢

    ORACLE社区有位哥们提问,为啥索引重建(alter index rebuil)之后,SQL变慢了,以前15秒可以完成,现在要2分多种,于是问他要了执行计划 SQL> set autotrace traceonly SQL> SELECT SEQ_PAY_CUSTOMEROPER....

    深入解析Oracle.DBA入门进阶与诊断案例

    10.2.3 通过AWR获取SQL执行计划 487 10.3 捕获问题SQL解决过度CPU消耗问题 488 10.3.1 使用vmstat检查系统当前情况 488 10.3.2 使用TOP工具辅助诊断 489 10.3.3 检查进程数量 490 10.3.4 登录数据库 490...

    oracle 性能优化

    oracle 性能优化 教你如果调优 sql>set autotrace on

    Oracle数据库管理员技术指南

    执行计划和统计数据 8.6 优化回退段 8.6.1 最小化回退段争用 8.6.2 使动态扩充最小化 8.6.3 分布回退段的 I/O 8.7 优化索引 8.7.1 怎样确定和重建产生碎片的索引 8.7.2 怎样确定表的索引 8.8 优化磁盘 I/O ...

    ORACLE9i_优化设计与系统调整

    §7.1 应用系统环境规划和Oracle系统安装考虑 91 §7.1.1 操作系统安装考虑 91 §7.1.2 Oracle系统安装考虑 92 §7.2 关于创建多个Oracle实例问题 93 §7.3 Oracle系统安装后的优化基础工作 94 §7.3.1 Oracle系统...

    深入解析OracleDBA入门进阶与诊断案例 3/4

     10.2 获取SQL执行计划的方法   10.3 捕获问题SQL解决过度CPU消耗问题   10.4 使用SQL_TRACE/10046事件进行数据库诊断   10.5 使用物化视图进行翻页性能调整   10.6 一次横跨两岸的问题诊断   10.7...

    深入解析OracleDBA入门进阶与诊断案例 2/4

     10.2 获取SQL执行计划的方法   10.3 捕获问题SQL解决过度CPU消耗问题   10.4 使用SQL_TRACE/10046事件进行数据库诊断   10.5 使用物化视图进行翻页性能调整   10.6 一次横跨两岸的问题诊断   10.7...

    深入解析OracleDBA入门进阶与诊断案例 4/4

     10.2 获取SQL执行计划的方法   10.3 捕获问题SQL解决过度CPU消耗问题   10.4 使用SQL_TRACE/10046事件进行数据库诊断   10.5 使用物化视图进行翻页性能调整   10.6 一次横跨两岸的问题诊断   10.7...

Global site tag (gtag.js) - Google Analytics