by 훈훈후니 [Oracle 기초] index size oracle [2016.02.21 20:04:50]
안녕하세요~
업무를 하는 중에 잘 모르는 부분이 있어 문의드립니다.
다름이 아니라 Index Size 에 관련된 건데요.
Table A 가 있습니다. Column 개수는 17개이고요.
그 중에서 3개의 Index 를 잡았습니다.
1. NUMBER(38) Column 1개로 구성된 Index
2. VARCHAR2(20 BYTE) Column 1개로 구성된 Index
3. VARCHAR2(20 BYTE) + VARCHAR2(20 BYTE) + VARCHAR2(20 BYTE) Column 3개로 구성된 Index
이렇게 잡고 운영하고 있는데..
Table 전체 크기보다 Index 크기가 더 큰거 같습니다.
Table 의 Size 는 57,521,012,736 이고요.
Index 각각의 Size 는 다 더하면 71,589,560,320 입니다.
(1. 14,467,596,288
2. 17.261.002.752
3. 39.860,961.280)
Index 가 잡혀있는게 별로 많지도 않은데 왜 이렇게 Size 가 큰 것일까요?
혹시 원인을 아시면 답변 부탁드리겠습니다.~
※ Table 구조는 Partition 으로 DATE Column 의 1일 기준으로 Interval Partition 구성되어 있고 Index 는 모두 Local 로 잡혀있습니다.
감사합니다~~
ps1 ) Table Size 와 Index Size 는 모두 아래와 같은 Query 로 구하였습니다.
select segment_name, sum(bytes) from dba_segments;