Hint学习笔记
Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。 此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从 而使语句高效的运行。例如,...
oracle 内存管理
Oracle有3个主要的内存结构:系统全局区(System Global Area,SGA)是一个很大的共享内存段,几乎所有Oracle进程都要访问这个区中的某一点。进程全局区(Process Global Area,PGA)是一个进程或线程专用的内存,其他进程/线程不能访问。用户全局区(User Global Area,UGA):这个内存区与特定的会话相关...
PGA的实际管理,设置和优化
调优视图:1>V$PGA_TARGET_ADVICE.2>V$PGA_TARGET_ADVICE_HISTOGRAM
PL/SQL优化
优化总体思想:1>建设循环次数,减少单次处理sql需要的时间.具体措施: 1> 尽量使用rowid来作为循环变量. 2>分布式...
使用parallel注意事项
1>所有并行操作在数据分布在多个磁盘的情况下展开, update,delete,merge只能在已经分区的表上才能处理 .2>并行度和并行进程之间的关系:(2*并行度 + 1) 并行进程数目:parallel_max_servers,parallel_min_servers3>并行相关参数: parallel_adaptive_m...
HASH join详解
上一篇日志中的merge into 和not in的执行计划中出现了 hash join 和 anti join 后来搜索到以下的解释,hash join 相对耗CPU 而 anti join 相对耗 IO,原文如下:hash join概念 hash join(HJ)是一种用于equi-join(而anti-join就是使用NOT IN时的join)的技术。在Oracle中,它是从7.3开...
Oracle LOB数据类型的处理
Oracle的Blob字段比较特殊,他比long字段的性能要好很多,可以用来保存例如图片之类的二进制数据。写入Blob字段和写入其它类型字段的方式非常不同,因为Blob自身有一个cursor,你必须使用cursor对blob进行操作,因而你在写入Blob之前,必须获得cursor才能进行写入,那么如何获得Blob的cursor呢?这需要你先插...
Direct Path Data Records Insert
下面我们来看一下到底什么是直接路径以及使用直接路径的优势和限制。文章截自“Oracle? Database Administrator's Guide11g Release 2 (11.2)”(当然中文注解不是官方文档中的) Improving INSERT Performance with Direct-Path INSERTWhen loading large amounts of data, you can improve load performance by using di...
查看历史最多资源
select * from dba_high_water_mark_statistics;
整理碎片3---表压缩
随着数据库的增长,我们可以考虑使用oracle的表压缩技术。表压缩可以节省磁盘空间、减少data buffer cache的内存使用量、并可以显著的提升读取和查询的速度。当使用压缩时,在数据导入和DML操作时,将导致更多的CPU开销,然而,由于启用压缩而减少的I/O需求将抵消CPU的开销而产生的成本。表的压缩对于应用程序来说是完全...
SGA,PGA,LIBRARY CACHE,BUFFER CACHE命中率
PGA的内存命中:SELECT name profile,cnt,decode( total, 0, 0, round( cnt * 100 / total)) percentageFROM ( SELECT name, value cnt, ( SUM( value ) OVER()) totalFROM v$sysstatWHERE name LIKE 'workarea exec%');-- 数据缓冲区高速缓存SELECT physical_reads, db_block_gets, consistent_gets, NAME,...
整理碎片1
select count(*) from x$ksmspalter system flush buffer_cachealter system flush shared_pool
锁结构的理解
lock structure 包含锁模式和进程id信息.lock structure 组成连表resource structure 理解 :oracle定义的一种数据结构 .这种数据结构对要进行并发控制的资源进行描述.包含 waiter list LMODE=0,REQUEST>0 , converter ...
SQL学习笔记
数据排序:row_number() 123 rank(() 113dense_rank() 112merge 改写有聚合的updatemerge into target_table ousing relation_table t on (t.condition1=o.condition1)when matched then updateset o.field1=t.field8...
V$SESSION_WAIT
(1)-V$SESSION_WAIT 这是一个寻找性能瓶颈的关键视图。它提供了任何情况下session在数据库中当前正在等待什么(如果session当前什么也没在做,则显示它最后的等待事件)。当系统存在性能问题时,本视图可以做为一个起点指明探寻问题的方向。 V$SESSION_WAIT中,每一个连接到实例的session都对应一条记录...
Hint学习笔记
Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。 此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从 而使语句高效的运行。例如,...
执行计划的理解.
SORT(UNIQUE) 指把查询语句的输出结果变成唯一集合的过程。1>一种是使用了“DISTINCT”,2>一种是子查询以提供者角色向主查询提供其执行结果。SELECT order_id,order_dateFROM ordersWHERE order_id in (SELECT order_id &n...
优化学习笔记
1、通过top sql找出有问题的sql语句select * from (select * from v$sqlstats order by DISK_READS desc) where rownum<=10;还可以对ELAPSED_TIME,AVG_HARD_PARSE_TIME等排序2、指定某个jdbc的连接找出有问题的sql语句我们jdbc连接到数据库,一般情况下是web界面连接查询。select sid, serial#, username, s...
sql tunning1 物化内连接视图:
物化内连接视图: with t1 as (select /*+ materialize */ a.user_name, a.invest_id from base_data_login_info@agen...
学习笔记imp/exp tunning
imp/exp优化 标签: buffer数据库importoraclearchive优化 2009-03-25 15:50 3727人阅读 评论(0) 收藏 举报 本文章已收录于: .embody{ padding:10px 10px 10px; margin:0 -20px; border-bottom:solid 1px #...