- 浏览: 312843 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (118)
- oracle (16)
- java (13)
- jquery (16)
- hibernate (2)
- spring (14)
- struts (2)
- eclipse (1)
- birt (5)
- integrated skill (13)
- linux (9)
- css+html (5)
- redis (1)
- jqgrid (4)
- mybatis (2)
- multithreading (3)
- jvm (1)
- mvn (3)
- php (2)
- jms (2)
- photoshop (1)
- springmvc (3)
- cluster (1)
- cache (1)
- jquery-ui (2)
- 英语词根 (0)
- svn (0)
- ide (1)
- mysql (3)
- rich-text (1)
- golang (8)
- mac 10 (1)
- android (1)
- react (0)
- bootstrap (2)
- css (2)
- 1 (0)
- beego (1)
- pictures (1)
- java小生转战 (0)
- 转站通知 (0)
- 转站通知,,,啊啊啊 (1)
- threeperson (1)
- unity (1)
最新评论
-
zld406504302:
aaaddddddd
java小生转站threeperson博客 -
zld406504302:
aaaaaddd
java小生转站threeperson博客 -
zld406504302:
aaaaaaaaaaaa
java小生转站threeperson博客 -
乌发舞天:
UEditor 实例 -
van_2013:
请问这是订阅模式的配置吗?
SPRING JMS 整合ACTIVEMQ
小生对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 ;---关闭自动计划跟踪
结果分析稍后补上
发表评论
-
java 调用oracle 管道表函数
2013-07-10 22:11 2063需求:用户导入100万白名单 ... -
sql实现多行数据比对更新或插入操作
2013-05-29 14:41 4945Merge语法 MERGE [hint] INTO [sche ... -
oracle conn /as sysdba 找不到实例
2013-03-07 11:47 1026oracle conn /as sysdba 找不到实例 ... -
oracle 维护、监控、优化常用sql
2013-03-06 09:46 9411) sql监控 SELECT SE.sid, schema ... -
oracle 编码修改
2013-03-05 15:40 686SQL> shutdown immediate; ... -
oracle10 用户无法连接到指定实例
2013-03-05 14:32 1299问题1:tns:could‘not find the iden ... -
oracle10 千万级数据存取优化
2013-02-27 21:34 6245[list] 今天对一个存有1000万数据的大表进 ... -
oracle sql 转义
2012-07-26 18:15 2377今天要在字段里查找'%',涉及到oracle的转义 ... -
获得每个班的前两名学生
2012-06-27 12:33 971群里有个朋友问了一个是sql查询的问题:“获得每个班的两名学 ... -
oracle procdure loop 内异常后继续下一次循环
2012-05-21 22:35 22741)oracle procdure 内异常处理 ... -
java调用 数组作为参数的管道表函数
2012-05-03 17:29 495需求:用户导入100万白 ... -
oracle tkprof 分析sql执行计划
2012-03-26 18:49 992oracle tkprof 分析sql ... -
oracle 管道表函数2
2012-01-06 15:47 1041由于上一篇关于管道表函数写的有些粗糙,追 ... -
oracle 管道表函数
2011-05-24 17:24 1106------创建一个类型 create or r ... -
oracle 函数返回一个集合
2011-01-10 23:23 1031create or repla ... -
oracle 存储过程
2011-01-06 11:20 870create or replace procedure ...
相关推荐
Oracle SQL执行计划是指Oracle数据库为SQL语句制定的一系列执行步骤,这些步骤指导数据库如何高效地访问数据和执行SQL语句。执行计划对于Oracle数据库的性能调优至关重要,因为它能够揭示SQL语句的执行细节,帮助...
AUTOTRACE是Oracle提供的一种强大的工具,用于自动展示SQL语句的执行计划以及相关统计信息,帮助DBA和开发人员更方便地理解SQL语句的执行过程。 #### AUTOTRACE概述 AUTOTRACE实用程序集成了TKPROF和EXPLAIN PLAN的...
Oracle提供了多种工具来分析SQL执行计划,包括EXPLAIN PLAN和AUTOTRACE。通过这些工具,可以详细查看SQL语句如何访问表和索引,以及执行过程中涉及的操作类型。 #### 二、执行计划优化 Oracle数据库的执行计划选择...
Oracle 数据库提供了多种方法来查看 SQL 语句的执行计划,例如使用 PL/SQL Developer、EM 或者 SQLPLUS 工具等。下面我们将使用 SQLPLUS 工具来分析 SQL 语句的执行计划。 使用 SQLPLUS 查看执行计划 -------------...
在Oracle数据库中,了解SQL语句的执行计划对于优化查询性能至关重要。本文档详细介绍了几种不同的方法来获取SQL语句的执行计划,包括使用autotrace、EXPLAIN PLAN以及DBMS_XPLAN.DISPLAY_CURSOR等。 #### 方法1:...
Oracle Autotrace 是 Oracle 10g 中的一项新技术,用于自动跟踪 SQL 语句的执行计划并提供与该语句的处理有关的统计。Autotrace 是 SQL*Plus 的一项功能,可以用来替代 SQL Trace 使用。Autotrace 的好处是您不必...
在Oracle数据库系统中,执行计划是数据库为了执行SQL查询而制定的一种操作策略,它详细描述了数据如何被访问、如何排序、如何过滤等一系列步骤。执行计划的稳定性涉及到查询性能的可预测性和一致性,这对于数据库...
Autotrace是Oracle提供的一种方便查看SQL执行计划和统计信息的功能。它可以通过命令行设置不同的模式: - `set autotrace off`: 关闭autotrace功能。 - `set autotrace on explain`: 显示执行计划。 - `set ...
**共享SQL语句**:为了提高性能并减少资源消耗,Oracle在第一次解析某个SQL语句后,会将其以及相应的执行计划缓存在内存中。这部分内存位于系统全局区域(SGA)中的共享池(shared pool),所有用户都可以访问这些已缓存...
Oracle的Autotrace是SQL*Plus中的一个强大工具,它主要用于帮助数据库管理员和开发人员分析SQL查询的执行计划,并收集执行时的性能统计数据。通过这些信息,可以有效地进行SQL查询优化,提高数据库的性能。下面是...
2. **SQL\*Plus AutoTrace功能**:除了显示执行计划,AutoTrace还提供执行过程中的统计信息,如逻辑读次数,这对于评估查询效率很有帮助。 3. **10046 Event**:通过设置`ALTER SESSION SET EVENTS '10046 TRACE ...
### Oracle 获取执行计划全部方法详解 #### 方法一:Explain Plan for 方式 - **应用场景**:当某个 SQL 查询执行时间过长甚至无法返回结果时,这种方法尤其适用。 - **步骤**: 1. 使用 `EXPLAIN PLAN FOR` 命令...
Explain Plan 是一个非常有用的工具,可以帮助我们查看 SQL 语句的执行计划,从而优化 SQL 语句的执行效率。使用 Explain Plan 需要创建 Explain_plan 表,并且需要进入相关应用表、视图和索引的所有者的帐户内。 ...
执行计划揭示了Oracle如何处理一个SQL查询,包括数据的访问路径、使用的索引、排序方式以及表之间的连接顺序等。本文将深入探讨如何查看执行计划,并提供优化SQL的策略。 一、执行计划的概念 执行计划是Oracle...
Oracle 执行计划是 Oracle 数据库中的一种机制,用于优化 SQL 语句的执行过程。它决定了如何访问存储器,得到需要的结果集。执行计划的主要内容包括访问方式和访问顺序。 Oracle 执行计划的生成方式有三种:Explain...
* Autotrace 工具:Autotrace 是 Oracle 提供的一种工具,可以自动跟踪执行计划。 * 其他工具:还有其他工具可以获取执行计划,例如 Oracle Enterprise Manager 等。 四、执行计划的优化 执行计划的优化是指 ...
Oracle执行计划是数据库管理系统在处理SQL语句时的预估工作流程,它是Oracle优化器根据当前数据分布、索引情况和系统资源等信息选择的最佳执行策略。了解和分析执行计划对于提升SQL语句的性能至关重要。 一、生成...
在Oracle中,执行计划是数据库优化器根据SQL语句特性生成的一系列步骤,用于指导数据库如何执行查询以获取数据。一个高效的执行计划能够显著提升查询性能,降低资源消耗,对于数据库性能优化至关重要。 #### 查看...
### Oracle数据库执行计划详解 #### 一、执行计划概述 执行计划是指数据库处理SQL语句时所采取的具体步骤。在Oracle数据库中,当用户提交一个SQL查询时,并不会直接告诉数据库如何去执行这个查询,而是由数据库...