随笔分类 -  Oracle性能优化

上一页 1 2 3 4
一个使用柱状图的案例[转]
摘要:1、对于取值较少的字段,如果是倾斜的,而我们的查询结果是数据量较小的,这种情况,在这个字段上创建B树索引,是可以起作用的。 2、索引起作用的前提是必须对该字段采集柱状图信息,并且SQL中该字段的条件不能使用绑定变量(如果使用绑定变量由于BIND PEEKING,会导致执行计划不稳定) 阅读全文
posted @ 2008-09-28 00:57 一江水 阅读(845) 评论(0) 推荐(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) 推荐(0) 编辑
and_equal,index_join,index_combine
摘要:and_equal,index_join,index_combine这三种都是oracle利用索引关联获得数据的方法,三者的目的都是为了最大限度的利用索引,减少回表的代价.但是三者的实现方法是有区别的 阅读全文
posted @ 2008-09-10 21:23 一江水 阅读(1018) 评论(0) 推荐(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) 推荐(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) 推荐(1) 编辑
利用statspack来获取生成环境中top SQL及其执行计划
摘要:利用statspack来获取生成环境中top SQL及其执行计划 作者: fuyuncat 来源: www.HelloDBA.com 在一些特殊情况下,生产环境中top SQL会让DBA捉摸不定。比如一个由复杂分支条件所生成的动态语句;第三方软件或者代码本身对会话环境进行了修改,导致无法正确重现问题语句的查询计划;语句过长导致无法获... 阅读全文
posted @ 2008-09-08 23:16 一江水 阅读(855) 评论(0) 推荐(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) 推荐(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) 推荐(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) 推荐(0) 编辑
Oracle 性能优化的基本方法概述
摘要:确定当前Oracle性能瓶颈 重点:从Oracle 等待接口v$system_event、v$session_event和v$session_wait中获得等待事件,进而找出影响性能的对象和sql语句 阅读全文
posted @ 2008-09-03 10:38 一江水 阅读(5647) 评论(0) 推荐(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) 推荐(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) 推荐(0) 编辑

上一页 1 2 3 4