데이터베이스

IOT(Indexed Organized Table)

Oracle의 IOT(Indexed Organized Table) 테이블은 B-tree 인덱스 구조를 기반으로 데이터를 저장하는 특수한 테이블입니다. 일반 테이블(Heap Organized Table)과는 다르게, 기본 키(Primary Key)를 기반으로 데이터를 정렬하여 저장합니다.

📌 IOT 테이블 특징

  1. B-tree 인덱스 기반 저장
    • 일반 테이블은 데이터를 Heap에 저장하고, 인덱스가 별도로 존재하지만,
      IOT 테이블은 기본 키 인덱스 자체에 데이터를 저장하여 성능을 향상시킵니다.
  2. 빠른 기본 키 검색 성능
    • 기본 키 검색이 빠르며, 추가적인 테이블 조회 없이 데이터를 직접 읽을 수 있습니다.
    • 특히 OLTP(Online Transaction Processing) 환경에서 성능을 극대화할 수 있습니다.
  3. 디스크 I/O 감소
    • 데이터와 인덱스가 함께 저장되므로 인덱스 검색 후 테이블을 다시 조회할 필요 없음
    • 따라서 디스크 읽기 연산이 줄어들어 성능이 향상됨.
  4. 공간 절약 가능
    • 테이블과 인덱스가 하나로 통합되므로 공간 절약 가능.
    • 그러나 행 크기가 클 경우 오히려 성능이 저하될 수 있음.
  5. 범위 검색이 빠름
    • 기본 키를 기준으로 정렬되어 있어 범위 검색(Range Scan) 이 빠름.

📌 IOT 테이블 생성 방법

CREATE TABLE iot_table (
id NUMBER PRIMARY KEY,
name VARCHAR2(100),
age NUMBER
) ORGANIZATION INDEX;
  • ORGANIZATION INDEX 키워드를 사용하면 IOT 테이블로 생성됨.
  • 기본 키(id)를 기준으로 B-tree 인덱스 구조로 정렬 및 저장.

📌 IOT 테이블 성능 튜닝

  1. 오버플로우 방지
    • IOT 테이블의 각 행이 너무 커지면 일부 데이터가 오버플로우 세그먼트(Overflow Segment)로 이동 → 성능 저하 발생.해결 방법: 행 크기를 줄이거나 오버플로우를 위한 별도 공간 지정
    CREATE TABLE iot_table ( id NUMBER PRIMARY KEY, name VARCHAR2(100), age NUMBER ) ORGANIZATION INDEX INCLUDING name -- name까지는 IOT 테이블에 저장 OVERFLOW; -- 나머지 컬럼은 오버플로우 세그먼트에 저장
  2. 적절한 기본 키 선정
    • 기본 키 크기가 크면 B-tree 깊이가 증가하여 성능 저하 가능
    • 작은 크기의 기본 키 사용 권장 (예: VARCHAR2(50) 대신 NUMBER 사용)

📌 IOT 테이블 vs 일반 테이블 비교

비교 항목일반 테이블 (Heap)IOT 테이블
데이터 저장 구조Heap (비정렬)B-tree 인덱스 정렬
기본 키 검색 속도상대적으로 느림빠름
디스크 I/O테이블 + 인덱스 읽기인덱스에서 바로 조회
인덱스 유지 비용별도 관리 필요내장됨
INSERT 속도빠름상대적으로 느림

📌 언제 IOT 테이블을 사용해야 할까?

기본 키 기반 검색이 많을 때 → 조회 성능 향상
데이터 정렬이 필요할 때 → 범위 검색이 많으면 유리
디스크 I/O를 줄여야 할 때 → 인덱스 탐색 후 테이블 조회 과정 생략 가능
자주 변경되는 데이터(UPDATE, DELETE) → 조각화(Fragmentation) 발생 가능
행 크기가 클 때 → 오버플로우 문제 발생 가능

📌 결론

  • OLTP 환경에서 기본 키 기반 검색이 많고, 데이터 크기가 작을 때 유용함.
  • 읽기 성능 최적화가 필요할 때 고려하면 좋음.
  • 그러나 INSERT/UPDATE 성능이 중요한 경우 일반 테이블이 더 적합할 수 있음.

zerg96

Recent Posts

요양원 선택 전 반드시 확인해야 할 것들, 부모님 맡기기 전에 보세요

요양원 선택 전 반드시 확인해야 할 체크리스트를 공개합니다. 공식 평가 자료 조회법, 방문 시 확인…

2일 ago

공공기관 채용 비리, 내부에서 터져나온 충격 증언

공공기관 채용 비리의 실태와 피해 지원자의 대응법을 정리했습니다. 채용 비리 신고 방법, 공익신고자 보호제도, 취준생…

2일 ago

주식 손실 났을 때 세금 줄이는 방법, 아는 사람만 씁니다

주식 손실을 세금 절약에 활용하는 합법적 방법을 공개합니다. 해외주식 손익통산, ISA 계좌 활용, 연금계좌 절세까지…

2일 ago

음식 배달 늦으면 소비자가 취소할 수 있다, 몰랐던 권리

배달이 예상 시간보다 크게 늦으면 취소·환불을 요청할 수 있습니다. 배달앱별 지연 취소 방법과 잘못 배달됐을…

2일 ago

휴대폰 요금제 바꾸면 연 수십만원 절약, 지금 내 요금제 확인하세요

통신비 절약의 핵심은 요금제 최적화입니다. 내 데이터 사용량 확인법, 알뜰폰 전환 비교, 위약금 없이 요금제…

2일 ago

퇴직금 못 받았다면, 지금 당장 이렇게 하세요

퇴직 후 퇴직금을 받지 못했다면 즉시 노동부에 신고하세요. 지급 기한, 자격 요건, 신고 방법, 소액체당금…

2일 ago