Index


title: 2025-11-12 author: 강병호 date: 2025-11-12 category: TIL/강병호/2025/11 (파일 경로 : TIL/{이름}/{연}/{월}) layout: post (자유) —

DBMS에서 데이터베이스 테이블의 모든 데이터를 검색하는 과정은 시간이 매우 오래 걸린다. 책에서 원하는 정보를 찾을 때도 우리는 책 끝에 있는 찾아보기(색인)을 이용해서 단어를 검색한다. 이러한 개념이 데이터베이스에 적용되어 인덱스라고 한다. 즉, 원하는 정보를 빠르게 검색하기 위한 수단이라고 정의할 수 있다.

이러한 인덱스는 주로, 컬럼의 값과 해당 레코드가 저장된 주소를 Key-Value로 삼아 인덱스가 생성된다.

  • Key : 인덱스로 지정된 컬럼의 값이다.
  • Value : 해당 Key를 가진 데이터 행이 실제 저장된 물리적 주소 값이다.

인덱스의 효과를 자료구조에 빗대어 확인할 수 있다.

  • ArrayList: 데이터 파일 의구조
    • 순서 없이 데이터를 저장한다.
    • 장점 : 데이터가 순서가 없기에 빠르게 저장된다. INSERT
    • 단점 : 데이터의 순서가 없기에 O(n). 정도의 시간이 걸릴 수도 있다. SELECT
  • SortedList: 인덱스와 같은 자료 구조
    • 항상 정렬되어 값을 저장한다
    • 장점 : 데이터가 정렬되어 있기에 원하는 값을 빠르게 찾을 수 있다. SELECT
    • 단점 : 데이터가 저장될 떄마다 항상 값을 정렬해야 하기에 저장하는 과정이 복잡하고 느리다. INSERT

즉, 인덱스는 데이터의 처리 성능을 희생, 데이터의 읽기 속도를 높이는 기능이기에 데이터 삽입, 수정 등이 적게 일어나고 조회가 많이 일어나는 경우에 사용될 수 있어야 한다.

results matching ""

    No results matching ""