一个使用柱状图的案例[转]
摘要:1、对于取值较少的字段,如果是倾斜的,而我们的查询结果是数据量较小的,这种情况,在这个字段上创建B树索引,是可以起作用的。
2、索引起作用的前提是必须对该字段采集柱状图信息,并且SQL中该字段的条件不能使用绑定变量(如果使用绑定变量由于BIND PEEKING,会导致执行计划不稳定)
阅读全文
posted @
2008-09-28 00:57
一江水
阅读(845)
推荐(0) 编辑
如何drop大表的中不用的字段[转]
摘要:我们要删除表中不用的字段,如果直接drop column,对于大表,进行DDL操作的时间会比较长,会严重阻塞DML语句,导致应用服务器crash,通常的做法是先set unused column column_name 或者 set unused column_name,column_name...,然后再利用停机时间做alter table table_name drop unused columns
阅读全文
posted @
2008-09-11 21:16
一江水
阅读(1094)
推荐(0) 编辑
and_equal,index_join,index_combine
摘要:and_equal,index_join,index_combine这三种都是oracle利用索引关联获得数据的方法,三者的目的都是为了最大限度的利用索引,减少回表的代价.但是三者的实现方法是有区别的
阅读全文
posted @
2008-09-10 21:23
一江水
阅读(1018)
推荐(0) 编辑
SQL语句优化方法30例
摘要:在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. ...
阅读全文
posted @
2008-09-10 16:23
一江水
阅读(1364)
推荐(0) 编辑
对Group By 语句的一次优化过程
摘要:对Group By 语句的一次优化过程 作者: fuyuncat 来源: www.HelloDBA.com 生产环境中发现一条语句很慢,拿回来一看,其实是一个简单的Group By语句: 表CCMMT的数据量比较大,5M多条记录。 1、 SQL> select CDE, CID 2 from CCMMT 3 GROUP BY CDE, CID 4 having max(ADT...
阅读全文
posted @
2008-09-08 23:27
一江水
阅读(13162)
推荐(1) 编辑
利用statspack来获取生成环境中top SQL及其执行计划
摘要:利用statspack来获取生成环境中top SQL及其执行计划 作者: fuyuncat 来源: www.HelloDBA.com 在一些特殊情况下,生产环境中top SQL会让DBA捉摸不定。比如一个由复杂分支条件所生成的动态语句;第三方软件或者代码本身对会话环境进行了修改,导致无法正确重现问题语句的查询计划;语句过长导致无法获...
阅读全文
posted @
2008-09-08 23:16
一江水
阅读(855)
推荐(0) 编辑
Oracle的consistent gets是如何计算的?
摘要:1.单表扫描
SQL> execute show_space('TEST1','WWJ');
Unformatted Blocks ..................... 0
FS1 Blocks (0-25) ..................... 0
阅读全文
posted @
2008-09-06 22:13
一江水
阅读(970)
推荐(0) 编辑
ORACLE 执行计划分析
摘要:一、什么是执行计划 An explain plan is a representation of the access path that is taken when a query is executed within Oracle. 二、如何访问数据 At the physical level Oracle reads blocks of data. The smallest amount...
阅读全文
posted @
2008-09-06 20:39
一江水
阅读(3826)
推荐(0) 编辑
Oracle中的Union、Union All、Intersect、Minus[转]
摘要:Intersect和Minus的操作和Union基本一致,这里一起总结一下:
Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All,对两个结果集进行并集操作,包括重复行,不进行排序;
Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。
可以在最后一个结果集中指定Order by子句改变排序方式。
阅读全文
posted @
2008-09-06 13:18
一江水
阅读(700)
推荐(0) 编辑
Oracle 性能优化的基本方法概述
摘要:确定当前Oracle性能瓶颈
重点:从Oracle 等待接口v$system_event、v$session_event和v$session_wait中获得等待事件,进而找出影响性能的对象和sql语句
阅读全文
posted @
2008-09-03 10:38
一江水
阅读(5647)
推荐(0) 编辑
ORACLE中查看执行计划plan
摘要:sql>set serveroutput on
sql>set autotrace traceonly
完整格式是:
SET AUTOT[RACE] {ON | OFF | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]
阅读全文
posted @
2008-09-02 17:15
一江水
阅读(2442)
推荐(0) 编辑
ADDM测试手记
摘要:1.运行以下SQL,找到你要分析的时间段的SNAP_ID,记下两个时间对应的SNAP_ID
SQL>SELECT SNAP_ID,BEGIN_INTERVAL_TIME,END_INTERVAL_TIME,SNAP_LEVEL,ERROR_COUNT FROM dba_hist_snapshot ORDER BY snap_id DESC;
2.运行@ORACLE_HOME/rdbms/admin/addmrpt.sql生成报告
在SQL运行的过程中,会首先提示输入起始的SNAP_ID,输入你刚才记下的开始时间对应的SNAP_ID,接着会要求输入中止时间对应的SNAP_ID,接着会要求输入一个名称,Oracle会生成一个以此名称命名的报告,如test.lst.
阅读全文
posted @
2008-09-01 15:05
一江水
阅读(570)
推荐(0) 编辑