IOT(Index Organized Table)
일반 힙(Heap) 테이블은 데이터를 무작위로 저장하지만, IOT는 테이블 자체를 인덱스 구조로 관리하며 지정한 키 값 순서로 정렬된 상태를 유지한다.
IOT에서는 테이블 레코드가 리프 블록에 함께 저장되므로, 일반 테이블처럼 “인덱스 → ROWID → 테이블 랜덤 액세스” 를 하지 않는다. 즉 테이블 랜덤 액세스가 크게 줄거나 발생하지 않는다.
특정 키로 범위 조회가 매우 많고, PK 기반 접근이 지배적일 때 유리하다. 단, PK 외 컬럼이 많아 행이 커지거나, 일반적인 DML 패턴에 따라서는 오히려 비용이 커질 수 있다(환경 의존).
- 클러스터형 인덱스(IOT와의 공통점 요지) SQL Server의 클러스터형 인덱스는 “데이터를 정렬하는 기준을 정의”하는 기능이며, 테이블에 클러스터형 인덱스를 생성하면 데이터가 그 키 순서로 정렬되어 저장된다.
오라클의 IOT도 마찬가지로 키 순서로 정렬 유지한다는 점에서 개념적으로 유사하다. (다만 구현/제약은 DBMS별로 다름)