摘要:
转自 http://blog.csdn.net/staricqxyz/article/details/8624549Find internal of "show parameter" by session tracingSQL>select*fromv$version; BANNER--------... 阅读全文
摘要:
转自 http://www.cnblogs.com/helong/articles/2088535.html我们以Oracle自带的表来做例子主要两张表:dept、emp一个是部门,一个是员工表结构如下:empnamenull?TypeEmpnonot nullnumber(4)enamevarchar2(10)jobvarchar2(9)mgrnumber(4)hiredatedatesalnumber(7,2)commnumber(7,2)deptnonumber(2)deptnamenull?Typedeptnonot nullnumber(2)dnamevarchar2(14)logv 阅读全文
摘要:
SQL> select * from v$version;BANNER-------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Rel... 阅读全文
摘要:
转自 http://blog.csdn.net/zengmuansha/article/details/7492826在看分区的执行计划当中 说明字段有各种不同的分区操作其中有两个PARTITION RANGE ITERATORPARTITION RANGE singleITERATOR的成本高于S... 阅读全文
摘要:
转自 http://blog.csdn.net/zengmuansha/article/details/74880181 嵌套连接成本外部表成本+内部表成本*外部表数据行| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |---------------------------------------------------------------------------| 0 | SELECT STATEMENT | | 10000 | 312K| 1338K (2)| 04:27:46 || 1 | NESTED LOOPS 阅读全文
摘要:
转自 http://blog.csdn.net/zengmuansha/article/details/7490234SQL> select * from t1 where a execute dbms_stats.gather_table_stats('ZENGMUANSHA','T1');SQL> select column_name,NUM_NULLS,NUM_DISTINCT,density from user_tab_col_statistics where table_name='T1';COLUMN_NAMENUM_NU 阅读全文
摘要:
转自 http://blog.csdn.net/zengmuansha/article/details/7490008索引和表查不多的物理对象,都是存储的数据.索引存储的是分支+索引列+ROWID+指针.因为是快速全索引扫描,就没有必要从分支跳到另外个分支,直接从根块到叶块,从叶块的前后指针扫描到尾巴上!因此其成本和全表扫描方式是一样的,那么公式也是一样的.这样我们继续使用上面用到的表和数据.快速索引扫描SQL> create index t1_ind on t1(a);Index createdSQL> select leaf_blocks from dba_indexes wh 阅读全文
摘要:
转自 http://blog.csdn.net/zengmuansha/article/details/7489822公式:According to the CPU costing model:Cost = (#SRds * sreadtim +#MRds * mreadtim +~~~~~~~~~~~~~~~~~~~~~~~~~~~~来自于cost-basedoracle书中#CPUCycles / cpuspeed) / sreadtimwhere#SRDs - number of single block reads -–单块读取次数#MRDs - number of multi blo 阅读全文
摘要:
转自 http://blog.csdn.net/zengmuansha/article/details/8601663简单点说,在oracle的block上都有活动事务的标志的,如果一个事务commit后,由于某些block在commit之前已经写回datafile,或者事务影响到的block数过多,则commit的时候只会清理undo segment header中的事务表信息,data block上的事务标志不会清除,在否则代价过高。那么在一些读取这些block时,需要将这些事务标志进行清除,就是延迟块清除块清除即清除数据块上与“锁定”有关的信息。Oracle的锁机制是一种轻量级的锁定机制 阅读全文
摘要:
转自http://blog.csdn.net/zengmuansha/article/details/7448723hash_join可以通过no_swap_join_inputs/swap_join_inputs来强制控制build表,配合leading可以控制多表之前的连接顺序----------------创建4个测试表create table t1 as select * from dba_objects;create table t2 as select * from dba_objects;create table t3 as select * from dba_objects;c 阅读全文
摘要:
转自 http://blog.csdn.net/zengmuansha/article/details/5096655表连接方式及使用场合NESTED LOOP对于被连接的数据子集较小的情况,nested loop连接是个较好的选择。nested loop就是扫描一个表,每读到一条记录,就根据索引去另一个表里面查找,没有索引一般就不会是 nested loops。一般在nested loop中, 驱动表满足条件结果集不大,被驱动表的连接字段要有索引,这样就走nested loop。如果驱动表返回记录太多,就不适合nested loops了。如果连接字段没有索引,则适合走hash join,因为 阅读全文