[sql] 비트맵 인덱스의 개념과 사용 방법

개념

비트맵 인덱스는 데이터베이스에서 사용하는 인덱스의 한 종류입니다. 일반적인 인덱스는 특정 열의 값을 정렬하여 검색 속도를 향상시키지만, 비트맵 인덱스는 열의 각 값에 대해 비트 패턴을 할당하여 검색을 수행합니다. 이는 특정 값이 테이블에 존재하는지 여부를 바로 확인할 수 있는 장점을 가지고 있습니다.

사용 방법

비트맵 인덱스는 주로 카디널리티가 낮은 열에 사용되며, 특정 값을 가지고 있는 행을 검색할 때 효과적입니다. 비트맵 인덱스를 생성하기 위해서는 다음과 같은 단계를 따를 수 있습니다.

  1. 테이블 생성 시에 비트맵 인덱스를 생성하고자 하는 열에 인덱스를 추가합니다.
    CREATE TABLE my_table (
      id INT,
      name VARCHAR(50),
      age INT,
      PRIMARY KEY (id),
      INDEX my_index (age)
    );
    
  2. 인덱스를 생성한 열에 대해 비트맵 인덱스를 생성합니다.
    CREATE BITMAP INDEX my_index ON my_table(age);
    
  3. 비트맵 인덱스를 사용하여 원하는 결과를 검색합니다.
    SELECT * FROM my_table WHERE age = 30;
    

장점

단점

결론

비트맵 인덱스는 카디널리티가 낮은 열에 대해 빠른 검색을 제공하는 인덱스 종류입니다. 주로 특정 값을 가지고 있는 행을 검색할 때 사용되며, 메모리 요구량과 데이터 수정 작업에 대한 고려가 필요합니다.

참고 자료