더북(TheBook)

모든 데이터를 버퍼 캐시에 저장해 놓으면 좋겠지만 관리 효율성과 자원 비용 때문에 그럴 수 없습니다.1 결국 대부분의 데이터가 있는 디스크에서 데이터를 검색해야 하는데, 데이터가 굉장히 많다면 모든 디스크 영역을 검색해야 하므로 조회 결과를 반환하는 데 시간이 매우 오래 걸립니다. 하지만 어떤 데이터가 어디에 존재하는지 알려 주는 색인이 있다면 훨씬 효과적으로 데이터를 검색하여 반환할 수 있습니다. 이를 위해 데이터가 존재하는 색인 값만 별도로 만들어서 관리하는 기법이 인덱스입니다.

인덱스는 데이터의 검색 속도를 개선하기 위해 테이블의 행을 효율적으로 식별 가능하도록 합니다. 색인이 접근하는 행을 대표하는 주소 아이디를 로우 아이디(row id)라고 부릅니다. 로우 아이디는 데이터베이스 시스템에 의해 관리되는 주소 값입니다.

 

그림 11-4 로우 아이디

 


1 최근에는 이러한 이슈를 많이 개선한 인메모리 데이터베이스(in-memory database)가 등장했습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.