Oracle Performance
文章平均质量分 72
wh62592855
这个作者很懒,什么都没留下…
展开
-
Oracle中的解析
每当一个语句被执行的时候,Oracle要遵循一套方法来检查语句的语法、其中引用对象的有效性以及用户的权限。除此之外,Oracle还会检查是否已经执行了相同的语句,目的是减少处理负担。所有这些都在几分之一秒甚至更短的时间内完成,发出语句的用户毫不知晓。这个过程被称为解析。 解析的类型所有的语句,DDL或者DML在执行的时候都要被解析。关键是这个解析是软解析(语句已经被解析并且在内存中可用转载 2009-10-19 10:11:00 · 1466 阅读 · 0 评论 -
ORACLE SQL的隐式排序问题
ORACLE SQL的隐式排序问题转载 2010-06-17 15:37:00 · 1781 阅读 · 0 评论 -
DISTINCT和GROUP BY的区别
其实二者没有什么可比性,但是对于不包含聚集函数的GROUP BY操作来说,和DISTINCT操作是等价的。不过虽然二者的结果是一样的,但是二者的执行计划并不相同。在Oracle9i中:SQL> SELECT * FROM V$VERSION;BANNER----------------------------------------------------------------O转载 2010-04-13 12:35:00 · 1469 阅读 · 0 评论 -
小心NLS_SORT和NLS_COMP的设置成为性能杀手
NLS_SORT和NLS_COMP是Oracle两个初始化参数。顾名思义,NLS_SORT和NLS_COMP是设置排序和比较的方式。通过设置这两个参数可以实现自定义的排序和比较的方式。设置这两个参数的值可以在数据库创建的时候指定,也可以通过Alter Session语句来修改。如果是在创建数据库的时候设定,那么是不能再修改的,并在所有的Session中起作用。但是我们也通过Alter Sessio转载 2009-11-28 19:59:00 · 4020 阅读 · 1 评论 -
Oracle 语句优化30个规则(下)
16. 通过内部函数提高SQL效率。 SELECT H.EMPNO,E.ENAME,H.HIST_TYPE,T.TYPE_DESC,COUNT(*) FROM HISTORY_TYPE T,EMP E,EMP_HISTORY H WHERE H.EMPNO = E.EMPNO AND H.HIST_TYPE = T.HIST_TYPE GROU转载 2009-11-15 22:25:00 · 1782 阅读 · 0 评论 -
Oracle 语句优化30个规则(上)
1. 选用适合的Oracle优化器 Oracle的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(se转载 2009-11-15 22:24:00 · 2078 阅读 · 0 评论 -
oracle cursor_sharing参数
先来看看官方文档中对这个参数的解释CURSOR_SHARINGPropertyDescriptionParameter typeStringSyntaxCURSOR_SHARING = { SIMILAR | EXACT | FORCE }Default valueEXACTModifiableALTE转载 2009-11-12 19:05:00 · 4751 阅读 · 0 评论 -
Oracle跟踪事件
经常在网上看到有人在举例或者做实验的过程中使用了EVENTS或者DUMP导出一些内部结构,有助于比较深层的说明一些事情和解决一些问题。今天有空想学习一下怎么来SET EVENTS,网上搜了搜好像没找到特别详细具体的教程,就搜到这篇文章讲的还算全面的,不过我依然没有看懂……囧 不管了,先存起来,等以后看看在什么教材里可以找到比较详细具体的讲解了再说吧。 =================转载 2009-11-14 17:12:00 · 1417 阅读 · 0 评论 -
ORACLE中in 和 exists区别
IN和EXISTS区别in 是把外表和内表作hash join,而exists是对外表作loop,每次loop再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:例如:表A(小表),表B(大表)1:select *转载 2009-11-13 13:08:00 · 1741 阅读 · 0 评论 -
Oracle 行级锁的开销
首先来复习一下行级锁的机制。当一个事务开始时必选先申请一个TX锁(保护回滚段、回滚数据块),只有先申请到回滚段资源后才能开始一个事务,才能进行DML操作。这个动作完成后,事务就可以开始修改数据了。当修改数据表的记录时,遵循以下的操作顺序。 1.获得表的TM锁(保护事务执行过程中其它用户不能修改表结构)2.在要修改的数据块头部的ITL表中申请一个空闲表项,记录事务号,实际记录的是这个事务要使转载 2009-11-09 22:12:00 · 1651 阅读 · 0 评论 -
Oracle 表连接方式分析
一 引言数据仓库技术是目前已知的比较成熟和被广泛采用的解决方案,用于整和电信运营企业内部所有分散的原始业务数据,并通过便捷有效的数据访问手段,可以支持企业内部不同部门,不同需求,不同层次的用户随时获得自己所需的信息。数据仓库系统需要能够及时地追踪和分析大量的历史数据,并能够及时做出分析和预测,因此实时性是一个非常重要的指标。ORACLE由于可靠性、高性能等方面的特点,在电信行业大部分的数据仓库转载 2009-11-04 16:54:00 · 1502 阅读 · 0 评论 -
逻辑读和物理读
下面这篇文章很好的讲述了ORACLE的逻辑读和物理读,虽然并没有讲得特别的深入,可是比较浅显易懂,言简意赅. ================================================================================ 1.物理读(physical read)当数据块第一次读取到,就会缓存到buffer cache 中,而第二转载 2009-10-25 17:54:00 · 2282 阅读 · 0 评论 -
oracle hints用法总结
虽然对HINTS还不是特别了解,而且现在有的人说提倡不使用HINTS,让ORACLE自动基于CBO来执行。可我还是觉得有必要学习一下,先保存下来,慢慢学习。 ================================================================================== 1. /*+ALL_ROWS*/ 表明对语句块选择基于开转载 2009-10-19 22:58:00 · 1378 阅读 · 0 评论 -
Oracle SQL的优化
想起来上次面试的时候那个面试官问我“你对优化方面了解多少”“ORACLE优化还是SQL优化”“SQL优化”“这个……不知道从何说起”“呵呵,那我问你问题好了,问问就知道你大概什么水平了”“呵呵,好吧”……结果好像不太理想,虽然最终还是拿到OFFER了,呵呵。今天看到篇SQL优化的文章,先记下来,下午有课,晚上回来了再看。 ==================转载 2009-10-19 12:33:00 · 1421 阅读 · 0 评论 -
ORACLE set autotrace in SQL*Plus
set autotrace off set autotrace on set autotrace traceonly set autotrace on explain set autotrace on statistics set autotrace on explain statistics set autotrace traceonly explain se转载 2009-10-19 10:58:00 · 2728 阅读 · 0 评论 -
Str2varlist与 str2numlist 介绍
Str2varlist与 str2numlist 介绍转载 2011-01-05 19:29:00 · 5120 阅读 · 0 评论