通过10104阅读hash join工作机制 ---OnePass
三、Onepass hash join1、内存hash表总体信息kxhfWrite: hash-join is spilling to disk -- 发生了dump disk的动作*** RowSrcId: 1 HASH JOIN BUILD HASH TABLE (PHASE 1) ***Total number of p...
通过10104阅读hash join工作机制 ---Optimal
Hash Join 执行有三种工作机制: Optimal,onepass, multipass,两张表进行hash join,通常是将小表在内存中built hash table,另一张表进行filter,hash值匹...
10.2解决了10.1以下的Transitive Closure变化
如果在关联列中添加一个额外的预测,10.1版本数据库transitive Closure在处理SQL语句条件过程中,会剔除掉多余的预测条件,例如: ...
No_expand hint 解决CBO针对where...or..语句中的cardinality计算问题
在where...or..语句中,CBO在计算关联cardinality数量中,会产生计算的偏差,从而造成语句效率低下,通常我们解决的办法: 1、重写...
ora_hash( ) 笔记
以下是关于jonathan lewis博客中关于ora_hash介绍的笔记一、ora_hash格式:ora_hash('strings', N, 0 ) strings: 输入值 N:最大hash bucket的...
10.2 多列关联cardianlity公式变化
10.2版本在多列关联时候,join cardinality计算公式已经产生变化。具体实验如下:1、创建测试表SQL>create table t1 ...
Anti-Join中允许关联column为空值( null),造成hint失效
”Join类型名词"中介绍Anti-Join主要是Not in或Not exists格式,以下实验是验证关联column允许空值(null)的时候,可能造成hint不能生效。具体实验步骤如下:1...
_complex_view_merging对执行计划的影响
以下是在10.2.0.1版本下测试,以下实验来着于Jonathan Lewis 《CBO》。1、创建测试表SQL>create table t1 ( id_par  ...
存储坏道造成数据库hang住
一、现象描述: 在测试环境HP-UX 11.2平台上oracle 10.2.0.4,突然数据库hang住,使用SQLPLUS登入,登入界面hang住,没有显示任何出错信息,无法访问bdump下目录,使得不能读取ale...
Block Prefetching含义
以下是翻译Christian Antognini的《Troubleshooting Oracle Performance》P422,关于block prefetching介绍: 在正常情况下,每个基于单个数...
joins类型名词
在阅读英文资料时候,经常会读到join类型的英文单词,以下是总结join 类型的含义:1、cross joins,也叫做cartestian product,意思是将表A的每一行与表B的所有行组和起来,语句如下: &nbs...
oracle10g中drop user造成ORA-07445 core dump
在HP-UX 11i平台下的ORACLE 10G数据库中,项目组报执行drop user user_name时,无法删除数据库用户。 具体解决方法如下:1、检查alert.l...
“unable to extend segment in undo tablespace”
1、查看交易使用UNOD情况select ses_addr,used_ublk from v$transaction2、查看undo段空间情况select segment_name,blocks from dba_segmentswhere tablespace_name='UNDO'order by blocks确认是否最大的undo段有没...
CBO各种类型成本计算公式
CBO各种类型成本计算公式如下:Tablescan cost= HWM/dbf_mbrc (参看“增加db_block_size能否提高I/O性能”)Unique scan cost = blevel +1Fast Full Scan cost=leaf_blocks/adj_mbrcIndex-only cost = Blevel + effec...
Index rebuild --case 1
实验条件:1、非ASSM表空间2、索引创建,CF值接近Blocks数量3、索引列不超过表列10%4、测试查询不同数量的行,索引碎片造成的影响情况实验:SQL> create tablespace perfstat datafile &...
为什么进行统计分析执行效率反而更差呢?
有一个经典案例,在8i到10g版本中,我们执行统计分析后,感觉执行效率反而更差了,造成该原因是我们创建了一个function-based index,将会产生一个隐藏列,该隐藏列会参与到成本计算。 具体的实验如...
B-Tree Index 成本计算
如果执行计划采用索引,其成本计算公式与tablescan成本计算公式是不同的,具体实验如下:1、创建测试表SQL>execute dbms_random.seed(0)SQL>create table t1 as select ...
计算表扫描中执行计划的COST
以下计算执行计划中表扫描的成本实验是在AIX平台下10.2.0.1进行的:1、创建测试表SQL>execute dbms_random.seed(0);SQL>create table t1 pctfree 99 &nb...
统计分析中不恰当method_opt使用可能造成执行计划问题
对表进行dbms_stats.gather_table_stats统计分析时,参数method_opt主要控制两件事情:1、决定哪些columns统计被收集2、决定哪些columns直方图被收集以及直方图包含多少个buckets以下是参数method_opt对...
增加db_block_size能否提高I/O性能?
在一次性能调优交流中,听到某专家介绍,在缺省db_block_size=8K的环境下,增加额外db block size=32K的表空间,然后把需要进行全表扫描的表(FTS)或索引(FI...