10053 treeview Tuning2010/07/15 00:37
사용법도 무지 간단하고 trc 화일을 추가하면은 아래 내용에 계속 추가가 되서 서로 비교를 쉽게 할수 있습니다.
사용방법은 open trace file에 trc 화일을 열고 show trace file을 선택하면 아래와 같이 추가됩니다.
출처) http://jonathanlewis.wordpress.com/2010/04/30/10053-viewer/
스터디중에 타이틀과 같은 내용이 언급되었당..
예전에 dsi 공부할때 잠깐 나왔다는데.. 왜 기억이 없는걸까.. ㅠㅠ
정리하면은 Not Null 컬럼이 물리적 컬럼순서에서 맨 마지막에 있으면 중간에 Null 컬럼의 메타정보를 저장한다는 내용인데..
용량에 변화가 있을가 테스트를 해보았당..
drop table t purge;
drop table t1 purge;
create table t
(
a1 varchar2(10) not null,
a2 varchar2(10) not null,
a3 varchar2(10) null,
a4 varchar2(10) null,
a5 varchar2(10) null,
a6 varchar2(10) null,
a7 varchar2(10) null,
a8 varchar2(10) null,
a9 varchar2(10) null,
a10 varchar2(10) not null
);
create table t1
(
a1 varchar2(10) not null,
a2 varchar2(10) not null,
a3 varchar2(10) null,
a4 varchar2(10) null,
a5 varchar2(10) null,
a6 varchar2(10) null,
a7 varchar2(10) null,
a8 varchar2(10) null,
a9 varchar2(10) null,
a10 varchar2(10) null
);
insert /*+ append parallel(a, 4) */ into t a (a1, a2, a10)
select /*+ parallel(b, 4) */ a, b, c
from (
select lpad(ceil((level + ((level+level) / 7)) / 5), 10, '0') a, '0'||(mod(level, 5) + 1) b, rpad('-',5,'-') c
from dual
connect by level <= 5000000
) b;
commit;
insert /*+ append parallel(a, 4) */ into t1 a (a1, a2, a10)
select /*+ parallel(b, 4) */ a, b, c
from (
select lpad(ceil((level + ((level+level) / 7)) / 5), 10, '0') a, '0'||(mod(level, 5) + 1) b, rpad('-',5,'-') c
from dual
connect by level <= 5000000
) b;
commit;
select SEGMENT_NAME, HEADER_BLOCK, BYTES, BLOCKS, EXTENTS
from dba_segments
where segment_name in ('T', 'T1')
| SEGMENT_NAME | HEADER_BLOCK | BYTES | BLOCKS | EXTENTS |
| T | 97,036 | 183,500,800 | 22,400 | 175 |
| T1(null 허용) | 98,188 | 183,500,800 | 22,400 | 175 |
용량에는 차이가 없고 Header_block에만 차이가 있당..
Header쪽에 Null의 메타정보를 관리를 하는것
혹시 인덱스 관련 변경사항이 있을까
create unique index idx_t on t(a1, a2, a10);
create unique index idx_t1 on t1(a1, a2, a10);
select SEGMENT_NAME, HEADER_BLOCK, BYTES, BLOCKS, EXTENTS
from dba_segments
where segment_name in ('IDX_T', 'IDX_T1')
| SEGMENT_NAME | HEADER_BLOCK | BYTES | BLOCKS | EXTENTS |
| IDX_T | 299,916 | 174,063,616 | 21,248 | 166 |
| IDX_T1 | 321,164 | 174,063,616 | 21,248 | 166 |
인덱스도 Header_block만 변경이 있음