본문 바로가기
DBMS/ORACLE

[oracle] 인덱스 생성 시 TEMP 사용량 테스트

by 드바 2025. 4. 3.
반응형

요약

order by 조회 시 보다 인덱스 실제 생성 시 temp를 더 많이 사용함
temp 사이즈는 컬럼 평균 사이즈 * 전체 건 보다 최소 2배 이상 필요
index 생성 시 nologging 이 빠르다

테스트 대상

DB noarchivelog 모드
데이터 건수: 56,039,932
테이블 사이즈: 6,106 MB

유형별 테스트 결과

※ 괄호()는 인덱스 컬럼 사이즈 대비

컬럼 타입 date varchar varchar varchar
컬럼 평균 사이즈(byte) 8 3 8 8+3
컬럼 평균 사이즈 * 전체 건(MB) 448 168 448 616
order by 조회 시 temp 사이즈(MB) 862(2배) 647(3배) 862(2배) 1080(2배)
인덱스 생성 시 temp 사이즈(MB) 1510(4배) 1292(6배) 1510(4배) 1725(3배)
인덱스 사이즈(MB) 1281(3배) 973(4배) 1342(3배) 1610(3배)

 

logging / online 옵션 수행 시간

-- nologging online
SQL> CREATE INDEX SK.IX_ST_MMS_DT_INVN_CNT_100
ON SK.ST_MMS_DT_INVN_CNT
(MOD_DH)
TABLESPACE TS_IDX
nologging online;
Statement Processed.
SQL Execution Time > 00:00:24.656
-- nologging offline
SQL> CREATE INDEX SK.IX_ST_MMS_DT_INVN_CNT_100
ON SK.ST_MMS_DT_INVN_CNT
(MOD_DH)
TABLESPACE TS_IDX
nologging;
Statement Processed.
SQL Execution Time > 00:00:24.828
-- logging offline
SQL> CREATE INDEX SK.IX_ST_MMS_DT_INVN_CNT_100
ON SK.ST_MMS_DT_INVN_CNT
(MOD_DH)
TABLESPACE TS_IDX;
Statement Processed.
SQL Execution Time > 00:00:25.125
-- logging online
SQL> CREATE INDEX SK.IX_ST_MMS_DT_INVN_CNT_100
ON SK.ST_MMS_DT_INVN_CNT
(MOD_DH)
TABLESPACE TS_IDX
online;
Statement Processed.
SQL Execution Time > 00:00:25.063

 

반응형

댓글